Add lz4 decompress/compress routines

During OTA generation, we decompress blobs on disk using lz4, and
perform diffing on the decompressed blobs. This is known to help OTA
size a lot. This CL adds decompression routines, following CLs will
start to actually call these routines.

Test: th
Bug: 206729162

Change-Id: Ifee87220e95740cb73a68ef84935c1cbb6a78666
diff --git a/Android.bp b/Android.bp
index 618b5fb..db1e684 100644
--- a/Android.bp
+++ b/Android.bp
@@ -185,6 +185,7 @@
         "libpayload_extent_ranges",
         "libpayload_extent_utils",
         "libcow_operation_convert",
+        "lz4diff-protos",
     ],
     shared_libs: [
         "libbase",
@@ -617,6 +618,7 @@
         "payload_generator/deflate_utils.cc",
         "payload_generator/delta_diff_generator.cc",
         "payload_generator/delta_diff_utils.cc",
+        "lz4diff/lz4diff_compress.cc",
         "payload_generator/ext2_filesystem.cc",
         "payload_generator/erofs_filesystem.cc",
         "payload_generator/extent_ranges.cc",
@@ -769,6 +771,7 @@
         "common/prefs_unittest.cc",
         "common/terminator_unittest.cc",
         "common/test_utils.cc",
+        "lz4diff/lz4diff_compress_unittest.cc",
         "payload_generator/ab_generator_unittest.cc",
         "payload_generator/blob_file_writer_unittest.cc",
         "payload_generator/block_mapping_unittest.cc",