Create `MR::Model::Fields` mixin

This moves the the fields logic for a `MR::Model` into a separate
mixin. The goal of this is to properly split up the model's
interface into smaller components that work together. The fields
mixin uses the base configuration mixin. For the most part, this
is an internal change to the gem and doesn't change the
interface or behavior of an `MR::Model`. This may be used in
the upcoming changes to MR's `ReadModel`.

This includes one backwards incompatible change:

* Removed `fields` class method. If a list of fields names
  is needed, use `configuration.fields.names`.

Related to #70

**Note** MR is still in a broken state. The full suite doesn't
run and the `Model` mixin doesn't work at all. This is part of
a number of changes re-working the `MR::Model`.