Implemented new snapshot and iterator features.

- Implemented snapshots, which offers read-only consistent views
  of a database.
- Implemented iterators, to read all the entries from a snapshot in a
  sequential manner, and thus guarantee the best possible read access
  pattern for the secondary storage.
- Fixed a bug in the checksum computation for self-contained entries.