table: Adds table format documentations
Refactoring the table reader

* The block package are completely merged into table package.
* Adds simple testing for block.
util: Introduces Releaser and ReleaseSetter interface
table: Use custom type for state enum
cache: Use custom type for state enum
leveldb: Provides clarity what actually trigger 'fatal error: fault'

Saves value returned by t.file.Num() to a variable before use it to
access the map. Also use bool as map element type instead of empty struct.

Related to issue #27.
iterator: Improves documentation
leveldb: Fixes snapshot routine and dbIter
leveldb: testing: Modify TestDb_ClosedIsClosed to reflect new changes
leveldb: Improves dbIter implementation
leveldb: Replaces dupBytes with append