folly/io:compression: add LZMA2 support
Summary:
Adds LZMA2 and LZMA2_VARINT_SIZE compression support for
folly::io::Compression. This format shows some big wins for
compressing ELF object files and is useful in our modified
ccache client.
Test Plan:
Compression unittests. Also, tested compressing object files built
in fbcode. On average, the compression percentage improved from
~16.5% to ~12%. But we save a lot more as object files get bigger,
which can help make bigger object files fit over fewer memcache
keys.
Reviewed By: njormrod@fb.com
FB internal diff:
D1092576