Move schemas into their own module

cc @byels 

The intention here is to move the contents of the newly-created "schematic" module into a separate egg fairly soon. The schema validation code is pretty reusable outside the context of mongo docs (e.g. validating inbound JSON in an API) and this seems like a logical component extraction.

This PR is an initial step to separate the schema and model/document components of mongothon into distinct modules prior to this extraction, with the goal of eliminating any dependencies on Mongo from schema code.

This is a backward-incompatible change, which is fine as master is now targeting the next major version increment.