First pass at adding a simple record wrapper class.

The intent of the RecordWrapper is to let you supply alternative objects
(for instance, domain objects) for use by repositories. They must have
an underlying record, but they may add additional domain logic on top of
this data.

Really, this object is more of a template for showing how small the
required interface expected by the repository of its "record_class"
really is.

The only gotcha with this particular implementation is that if we want
to add custom setters, we'll need to define set_attributes in our
wrapper class.

I initially thought of implementing this similarly to DelegateClass, but
I think this might be overkill. Operating on sleep deprivation at the
moment, so I'm gonna let it sit for now and come back when I'm rested.