Add `Stack`, allows creating a record/model and all it's dependencies

This adds a `Stack` feature that allows easily creating a record
or model and all of it's dependencies. This is done using MR's
factory and inspecting ActiveRecord's association information.
A `Stack` is given an object class and it will "walk" up it's
dependencies (belongs to associations) and create them in the
correct order. This allows easily creating a full stack of records
or models without having to manually build them in the correct
order. MR's factory handles building defaults for the attributes.
This is a first pass at the idea and doesn't account for many edge
cases like complex validations or polymorphic associations.