Add a `FakeRecord` mixin

This adds a mixin that aims to provide a fake but compatible AR
interface for working with the model-record pattern this gem
will provide. The goal here is to be able to build a model with
a fake record and run tests against it. This provides a speed
bonus, because the fake will never hit a DB and the fake also
provides methods to help with testing. The idea is to unit test
using a fake and then provide system tests with the real AR
model. This provides a fast unit test suite, which tests it's
pieces in isolation, and then a slower system test suite which
can test the interfaces. This pattern will be used with the
MR gem's test suite.