Add a flag to deduplicate storage snapshots

Add a new format for deduplicated storage snapshots. Microbenchmarks
show a 10x deduplication ratio on Twitter's production snapshots.

This format is backwards-incompatible, so this patch introduces a
flag to control its use (defaulting off).

This only changes the format used to write to the replicated log (where
time is of the essence since all writes are done holding the global
storage lock) - the format of backups written to disk is unchanged,
as backups don't hold the lock.

Testing Done:
./gradlew -Pq build

Bugs closed: AURORA-722

Reviewed at https://reviews.apache.org/r/26478/