REFACTORED LOGIC THROUGH NEW 'SchemaData' OBJECT - refs #1

The 'old_schema' and 'new_schema' attrs are now coerced into and used as
SchemaData objects instead of DBIx::Class::Schema objects. This is a
(mostly) transparent proxy layer, keeping most of the logic the same
(although some of it looks a little funny/obtuse now because it is still
structured in ways that made more sense for DBIC schema/source method
calls, now many of these are simple hashref accessors).

The benefit of this new structure is that it can now operate on data
instead of real schema/result classes. The next step will be to add
interfaces to serialize/deserialize JSON, etc, as well as more general
cleanup...