Implement IMGDIFF operation in the client.

This operation is used to apply update on gzipped data with much smaller
diff data than bsdiff.

update_engine only calls ApplyImagePatch() with all the data, the actuall
implementation of the imgdiff format is in bootable/recovery/applypatch.

Test: mma & added unittest
Bug: 26628339

Change-Id: I2b8a097aa68727b06be101cc06a3a896b835a815
diff --git a/update_engine.gyp b/update_engine.gyp
index 07e6f6c..9d0f9ac 100644
--- a/update_engine.gyp
+++ b/update_engine.gyp
@@ -133,6 +133,7 @@
         'exported_deps': [
           'libcrypto',
           'libcurl',
+          'libimgpatch',
           'libssl',
           'xz-embedded',
         ],