update_payload: Add zero operation support

Currenlty the applier.py and checker.py does not support ZERO
operation. This patch adds support for it. In addition, when generating
ZERO operation, we were not clearing the source length and extent
properties out of the protobuf. ZERO operation has no source length or
extent.

BUG=chromium:768461
TEST=unittest pass; scripts/paycheck.py --check payload.delta;

Change-Id: I766deaca4380686797893c2686036d59525546f4
Reviewed-on: https://chromium-review.googlesource.com/713539
Commit-Ready: Amin Hassani <ahassani@chromium.org>
Tested-by: Amin Hassani <ahassani@chromium.org>
Reviewed-by: Ben Chan <benchan@chromium.org>
Reviewed-by: Sen Jiang <senj@chromium.org>
diff --git a/scripts/update_payload/checker_unittest.py b/scripts/update_payload/checker_unittest.py
index 2e1efeb..d79b00b 100755
--- a/scripts/update_payload/checker_unittest.py
+++ b/scripts/update_payload/checker_unittest.py
@@ -872,6 +872,8 @@
       payload_checker.minor_version = 2 if fail_bad_minor_version else 1
     elif op_type in (common.OpType.SOURCE_COPY, common.OpType.SOURCE_BSDIFF):
       payload_checker.minor_version = 1 if fail_bad_minor_version else 2
+    elif op_type in (common.OpType.ZERO, common.OpType.DISCARD):
+      payload_checker.minor_version = 3 if fail_bad_minor_version else 4
 
     if op_type not in (common.OpType.MOVE, common.OpType.SOURCE_COPY):
       if not fail_mismatched_data_offset_length: