Add strict mode.

This pull request adds a `StrictMode` option as it's described in #164. The following changes were made to support this:

* The `Check()` implementation has been moved to `Tx`. It is still callable from `DB.Check()`.

* Added a check for pages that are double freed: `already freed`

* Added check for for pages that are reachable but are also on the freelist: `reachable freed`

I'll add line notes for clarity.

---

Fixes #164.

/cc @snormore @mkobetic @pkieltyka