An iterator yields a sequence of key/value pairs from a source.
The following class defines the interface. Multiple implementations
are provided by this library. In particular, iterators are provided
to access the contents of a Table or a DB.
DB contents are stored in a set of blocks, each of which holds a
sequence of key,value pairs. Each block may be compressed before
being stored in a file. The following enum describes which
compression method (if any) is used to compress a block.