renamed Collection::isCollection() to Collection::isInstance()
Storage->save() will no not execute queries with no data
#39: first work on better depency injection by making factories dependency containers that store references to dependend components directly from the api
#41: Work on model caching
moved model cache control out of ModelFactory into Storage
added Model->setQuery() and Model->getQuery() and ModelCollection->setQuery() and ModelCollection->getQuery() to store original load queries in collections and models
ModelCollections set theire Query to containing models