paycheck: support minor version 3.

Added check for mandatory source operation hash in minor version 3.

Fixed unittest.

BUG=chromium:568473
TEST=./paycheck.py <minor v3 payload>; ./checker_unittest.py

Change-Id: Id96ddce8c59f28b3449524b786c54a6c69ca798f
Reviewed-on: https://chromium-review.googlesource.com/317573
Trybot-Ready: Sen Jiang <senj@chromium.org>
Tested-by: Sen Jiang <senj@chromium.org>
Reviewed-by: Alex Deymo <deymo@chromium.org>
Reviewed-by: Gilad Arnold <garnold@chromium.org>
Commit-Queue: Alex Deymo <deymo@chromium.org>
diff --git a/scripts/update_payload/test_utils.py b/scripts/update_payload/test_utils.py
index 8746fce..61a91f5 100644
--- a/scripts/update_payload/test_utils.py
+++ b/scripts/update_payload/test_utils.py
@@ -219,9 +219,11 @@
     """Writes a payload heaer to a file."""
     # We need to access protected members in Payload for writing the header.
     # pylint: disable=W0212
-    file_obj.write(payload.Payload._MAGIC)
-    _WriteInt(file_obj, payload.Payload._VERSION_SIZE, True, self.version)
-    _WriteInt(file_obj, payload.Payload._MANIFEST_LEN_SIZE, True, manifest_len)
+    file_obj.write(payload.Payload._PayloadHeader._MAGIC)
+    _WriteInt(file_obj, payload.Payload._PayloadHeader._VERSION_SIZE, True,
+              self.version)
+    _WriteInt(file_obj, payload.Payload._PayloadHeader._MANIFEST_LEN_SIZE, True,
+              manifest_len)
 
   def WriteToFile(self, file_obj, manifest_len=-1, data_blobs=None,
                   sigs_data=None, padding=None):