'group_by' is now a list

Backdrop needs to be able to handle being passed multiple 'group_by'
query-string parameters.
Remove create data set route

The mongo collections are created on the fly when written to now. Delete
has been left in for now so that a the capped size of a data set can be
changed. When a data set is removed in stagecraft it is not removed in
backdrop. This is fine for most cases as they data set can be emptied.
However, if the capped size of the data set changes this will not be
reflected in the data set unless it is first removed.
Nested merge now groups using a list of key combos

This means that when multiple group_by parameters are specified we can
group by all of them and include all of them in the same group of
results.
Merge pull request #339 from alphagov/multiple-group_by-params

Nested merge now groups using a list of key combos
Merge pull request #338 from alphagov/remove-create-route

Remove create data set route
Do not record 4xx class as error

User errors should not be logged as application errors. Doing so masks
real errors.
Attach logging to root handler

This means that we will capture log messages that are not specifically
written to flasks logger.

Before this commit we're not capturing any error logs from the rest of
our application or from dependencies (unless they cause exceptions that
bubble up to the flask layer).
Merge pull request #340 from alphagov/backdrop-errors

Do not record 4xx class as error
Merge pull request #341 from alphagov/attach-logging-to-root-handler

Attach logging to root handler
Add a test and fixture so we can reproduce the problem
remove_keys() takes a list of keys, not one key
Merge pull request #342 from alphagov/subgroup_keys

remove_keys() takes a list of keys, not one key