This commit adds support for compression in badger. Two compression
algorithms - Snappy and ZSTD are supported for now. The compression algorithm information
is stored in the manifest file. We compress blocks (typically of size 4KB) stored in the SST.
The compression algorithm can be specified via the CompressionType option to badger.
* Have block based on size.
* Implementation of binary search inside block.
* Support for checksum at block level
* Update table benchmarks
* Support for max value size of uint32
* Create an options package to hold file loading mode options.
* Move all options to a new file options.go for clarity
* Refactor table loading options