Fix freelist allocation direction.

This commit fixes the freelist so that it frees from the beginning of the data file
instead of the end. It also adds a fast path for pages which can be allocated from
the first free pages and it includes read transaction stats.
Fix freelist allocate().
Merge pull request #169 from benbjohnson/allocation

Fix freelist allocation direction.