Implement save method on MongoStorageEngine
Integrate storage engine save with write API

Integrate the new MongoStorageEngine save method with the write API and
admin app. The integration with the admin app is not right, but fixing
that at the same time is a bit too much.

This required a bit of refactoring.
1. Create a store method with the same interface as parse_and_store on
   NewDataSet
2. Refactor pre-processing steps to be a series of functions applied to
   the records and refactor tests
3. Add some tests around those steps being called
4. Integrate NewDataSet with the write API

This commit does not include removing the legacy saving code and tests.
Removes redundant saving code

Removes code related to the previous method of saving. See previous commits
for context.

- Remove saving from DataSet, it is being done in NewDataSet
- Remove Record, it is no longer necesarry, dicts are used instead.
- Remove test code associated with the dead code.
Add delete_dataset method to mongo storage engine

I missed this one in earlier commits and only realised when I tried to
remove the Database class from the write API.
Integrate dataset deletion against mongo storage
Merge pull request #299 from alphagov/refactor-data-layer-step-3

Refactor data layer step 3