Some reasonable significant changes to schema type-checking:

* We no longer maintain a list of specific "supported types". The intention is to eventually move schemas out into a separate, domain-independent component where it doesn't really makes sense to constrain supported types to any specific use-case (in our case Mongo). Instead, we assume that the user is smart enough not to include invalid types for their use case in their schemas.
* The Mixed type is now attached to the schema as an actual type (dynamically generated), rather than an instance. This allows us to remove the special-casing in schema validation and just treat Mixed like any other type with an isinstance() check.
* The Mixed type may now only be included in a schema by providing at least two enclosed types (e.g. `Mixed(basestring, int)`). Open ended usage of just the class name to signify _any_ type is no longer supported. Use strict=False instead.
Created a new "schematic" package

The intention is to move the contents of schematic into a separate egg fairly soon. This commit 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 Mongothon from schema code.

Details:
* There is now a Mongothon Schema class which subclasses the Schematic Schema class - adding some Mongo specific doc spec defaults
* Sample schemas used in tests have been duplicated for each package's tests. The intention is to customize these to appropriate domain and remove the dependency on PyMongo from schematic code.
Remove dependency on BSON from schematic
Reorganized some tests
Reorganized model.py, pulling scope building and exceptions out into their own modules
Made schema verification something which happens when the Schema is created, rather than a separate later step.

This is nicer as it means we can't forget, and nested Schemas self validate so we don't need to recurse.
Factored out some of the craziness in Schema where we were basically passing ourselves around all over the place twice
Merge pull request #21 from gamechanger/tl-schema-extraction

Move schemas into their own module