Create `MR::Model::Persistence` mixin

This moves the the persistence 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
For the most part, this is an internal change and will provide the
same interface that `MR::Model` currently does. This doesn't change
any of `MR::Model`'s behavior yet. This is just setup for changing
it later.

The only behavior change is that this removes any callbacks from
the persistence methods. We are planning on dropping these from
`MR::Model` so this is part of doing that.

This also includes a minor change to the `Configuration` mixin.
It needs to only run it's `included` hook once. Otherwise, it
causes the configuration to get re-written. I ran into this
while including multiple mixins on the same class.

Related to #69
Related to #70

Conflicts:
	bench/results.txt