Add base `MR::Model` implementation

This adds the base `MR::Model` mixin implementation. This mixin
was prototyped in actual applications using ActiveRecord. The
mixin provides a nice interface for defining the "model" which is
a wrapper to the AR model (the "record"). The model mixin
primarily provides a pattern for defining methods that are
delegated to the record and provides a consistent interface for
managing the record. As shown with the tests, this provides a
testable interface that can use either an actual AR model or a
fake record.