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/Android.mk b/Android.mk
index d529f70..34fe4dd 100644
--- a/Android.mk
+++ b/Android.mk
@@ -143,6 +143,8 @@
     update_metadata-protos \
     libxz-host \
     libbz \
+    libimgpatch \
+    libz \
     $(ue_update_metadata_protos_exported_static_libraries)
 ue_libpayload_consumer_exported_shared_libraries := \
     libcrypto-host \