Add mixin for handling read model's data object

This adds a small mixin for handling a read models data object.
This is an abstract object whose only requirement is it responds
to the index (`[]`) method. This provides an internal interface
for other mixins, including the `MR::ReadModel` mixin itself, to
access and set the data object. `MR::ReadModel` and the mixin
for defining read model fields will depend on this behavior.
This doesn't make any changes to the `MR::ReadModel` mixin yet,
this is just setup for changing it.

Related to #88