Adding schema introspection/migration tools

* export schema definitions for any Document type
* Adds Document.transform_incoming, which allows manipulation of the
  BSON before MA does anything with it. This will allow any user-defined
  schema migration scheme