Create backdrop_client library to chat up backdrop
Override DataSet save() method to call backdrop

To keep the existing tests working, this requires mocking out the call to
create_datasets so that it doesn't try to contact backdrop during tests.
DataSet tests for integration with backdrop_client
Use django transactions to commit to db
  - DataSet save method now opens a transaction
  - If creation in Backdrop fails, we roll back the entire transaction
  - Thus, a 'save' encapsulates/requires a model save in Stagecraft *and* Backdrop
  - Tests updated to test transactions
  - New property 'is_capped' on DataSets
Use updated django ‘atomic’ method
Add a docstring to create_dataset function

To clarify how to create a capped/uncapped collection.
Add further constrains to create_dataset

To clarify that it capped_size must be zero or a positive integer.
Improve the code style of the tests

- use nose.tools.assert_equal rather than self.assertEqual
- expand the expected output dictionaries to make them easier to read
Test that we get data type|group *names* not ids
Replace serialize library, do it manually

After discussion it turns out it's better to use json.dumps on a
manually-built OrderedDict based on fields in the model.
Allow filtering with data_group or data_group

Because we're a friendly, helpful API. Includes tests.