Moved Datum into a wrappers file as it's not really db
Renamed tests for Datum to something more appropriate
Removed old Datum class from data.py
Moved DataSet source file into a query sub-directory
Removed repr function from Datum
Added init file for query module
Refactored Model base class

Split into BaseModel and Model. The latter is for user defined models,
the former contains the save functionality to use within anflow (e.g.
for History model and so forth).
Altered Model tests to account for changes in Model source
Moved History source into query folder
Bit of a mass refactorisation

There's several things going on in this commit (sorry about that):
- Added foreignkey to Model to link it to a particular History object
- Moved Model class into its own source file to try and avoid import
circular references.
- Moved History source into the models directory and made it inherit
from BaseModel so that we can query using the data attribute etc (and
save and so on).
- Moved the Manager source file into the query sub-directory as it fits
better there

There are going to be a TON of ImportErrors to fix because of this, so
stand by...
Fixed all imports to work with new layout
Fixed issues with ForeignKey between History and Model
Moved some functionality from ModelBase.save to Model.save

Call to paramsdict wasn't going to work for History model for example
Fixed Datum imports in rest of tests
Moved MyModel fixture to conftest.py
Added file to test DataSet and Manager classes
Added Manager to query init file
Changed import of Manager to import from query
Moved required imports in test_model to conftest
Added test for Manager