Remove redundant dataset permission

It is not required by any view and is not required in either the new
admin app or the backdrop admin app.
Merge pull request #210 from alphagov/remove-redundant-dataset-permission

Remove redundant dataset permission
Remove django_statsd GraphiteMiddleware

This counts requests but doesn't use a .count suffix. We only aggregate
counting metrics correctly if they use a .count suffix. Rather than
changing our aggregation rules to be very django_statsd specific I have
removed this middleware. Besides, we get the same information from the
timers since they include a counter.
Log Request-Id header from nginx proxy

Our nginxen where SSL termination happens add a unique header for each
request. We should log that, to enable easier tracing in our
distributed system.
Merge pull request #213 from alphagov/feature/log-request-id

Log Request-Id header from nginx proxy
Merge pull request #211 from alphagov/django-statsd-fix

Remove django_statsd GraphiteMiddleware
Ensure that USE_DEVELOPMENT_USERS is always reset

When mocking GOV.UK signon, we set USE_DEVELOPMENT_USERS to False
so that we can test things properly.

However, if the code being tested raises an exception, we never
set the setting back to its original value.

Wrap the call in a try/finally, so that we always reset the setting.

With thanks to @robyoung for diagnosing this.
Validate dashboards before saving

Previously we were not validating dashboards as part of the save
process. This commit:

- Validates dashboards
- Catches validation errors and returns a JSONified 400 to the user
- Updates test data to be valid
Merge pull request #215 from alphagov/validate-dashboard-before-saving

Validate dashboards before saving
Initial suggestion for FCO schemas

This is intended to support data capture and display for:

- number of appointments booked
- number of appointments booked, at consular level
- appointments by consular service type
- appointments by consular service type, at consular level
- appointments by channel, overall and at consular level
- number of no-shows for appointments, overall and at consular level
- usage of available hours, overall and by consulate
Merge pull request #212 from alphagov/feature/fco-jsonschema

Initial suggestion for FCO schemas
Some initial tests around dashboard migration
Handle department and agency creation

Create them if they dont exist. Needs to handle parent_id for agency...
Document add_node method

Document what json is required for the add_node method
Now deals with parent id when creating agency
Add some basic organisation type setting

If it doesnt exist create it - check if we want this behaviour or only
allow agency / department
Organisations now created and updating
Add cascade option to drop schema

Cascade automatically drops objects (tables, functions, etc.) that are
contained in the schema.
Change Business model field length

Changes to a length that will allow us to insert one of the valid
values, which is longer than 20 chars
Log post requests so we know about failed requests