Include the major version in update_engine.conf

This patch moves all the payload definition version numbers to
payload_constants.h and exposes the supported one in the .conf file.

Bug: 23946683
Test: Added unittest to match the .conf file with the code.

Change-Id: I7d84d2aa3c85d2b4d5da8bf102aa9bf99acc0136
diff --git a/payload_constants.h b/payload_constants.h
index 188ea84..21dab00 100644
--- a/payload_constants.h
+++ b/payload_constants.h
@@ -23,6 +23,22 @@
 
 namespace chromeos_update_engine {
 
+// The major version used by Chrome OS.
+extern const uint64_t kChromeOSMajorPayloadVersion;
+
+// The major version used by Brillo.
+extern const uint64_t kBrilloMajorPayloadVersion;
+
+// The minor version used for all full payloads.
+extern const uint32_t kFullPayloadMinorVersion;
+
+// The minor version used by the in-place delta generator algorithm.
+extern const uint32_t kInPlaceMinorPayloadVersion;
+
+// The minor version used by the A to B delta generator algorithm.
+extern const uint32_t kSourceMinorPayloadVersion;
+
+
 // The kernel and rootfs partition names used by the BootControlInterface when
 // handling update payloads with a major version 1. The names of the updated
 // partitions are include in the payload itself for major version 2.