Optimize Tx.Check().

This commit removes several memory allocations occurring on every page and also caches the freelist map used when iterating over the pages. This results in significantly better performance.

*See line notes for additional details.*

/cc @snormore @mkobetic