New "properties" sub-command to export payload properties.

The new brillo_update_payload sub-command "properties" dumps a list of
properties for a given signed or unsigned payload. These properties are
normally included in the Omaha response, and extracted from python in
chromite.

This new sub-command helps to encapsulate the properties used by the
server side wehn serving a payload and to let the Android application
pass these required properties.

The properties include the payload and metadata hash and size.

Bug: 26991255
TEST=FEATURES=test emerge-link update_engine
TEST=mmma system/update_engine
TEST=`brillo_update_payload properties` for signed and unsigned payloads.

Change-Id: I4602ea4b8dc269e4cc66df4293ef9765d8dd031d
diff --git a/common/constants.cc b/common/constants.cc
index fe4e643..b15c3f4 100644
--- a/common/constants.cc
+++ b/common/constants.cc
@@ -87,4 +87,9 @@
 const char kPrefsUrlSwitchCount[] = "url-switch-count";
 const char kPrefsWallClockWaitPeriod[] = "wall-clock-wait-period";
 
+const char kPayloadPropertyFileSize[] = "FILE_SIZE";
+const char kPayloadPropertyFileHash[] = "FILE_HASH";
+const char kPayloadPropertyMetadataSize[] = "METADATA_SIZE";
+const char kPayloadPropertyMetadataHash[] = "METADATA_HASH";
+
 }  // namespace chromeos_update_engine