Added really basic idea for models
Model now implements a more sensible create interface
Moved type checking out into its own class
Reversed the order of parameters to Prototype::create so the interface feels more sensible
Changed Model::create to allow it to take a prototype object
Hashed out the interface for the load method
Added load method to objects returned by model
Refactored tests to allow other properties in the objects
Moved Model::Create methods into Factory
Added support for nested objects
Added validation test stub
Removed validation from the Factory::create method because it was silly
Merge branch 'models'