p2p: Use p2p for updates

This is the main patch for enabling use of p2p for consuming and/or
sharing updates via p2p. Refer to the ddoc and other documentation for
how this works.

BUG=chromium:260426,chromium:273110
TEST=New unit tests + unit tests pass + manual testing
Change-Id: I6bc3bddae1e041ccc176969a651396e8e89cb3f0
Reviewed-on: https://chromium-review.googlesource.com/64829
Reviewed-by: David Zeuthen <zeuthen@chromium.org>
Commit-Queue: David Zeuthen <zeuthen@chromium.org>
Tested-by: David Zeuthen <zeuthen@chromium.org>
diff --git a/constants.cc b/constants.cc
index 93dd1e3..ffcd112 100644
--- a/constants.cc
+++ b/constants.cc
@@ -20,6 +20,8 @@
 
 const char kSystemRebootedMarkerFile[] = "/tmp/update_engine_update_recorded";
 
+const char kP2PAllowInteractiveMarkerFile[] =
+    "/mnt/stateful_partition/p2p-allow-interactive";
 
 // Constants defining keys for the persisted state of update engine.
 const char kPrefsBackoffExpiryTime[] = "backoff-expiry-time";