Core functionality.

This is a bunch of work on the core functionality of seriate.mock. Adds the ability to mock files and transactions. Also supports single-use mocks.