Bugfix: CSRF check rejecting reauth

This makes the reauth view exempt from the CSRF check that Django adds
by default. This also updates the tests so that this is actually picked
up (Django switches the check off by default).

https://www.pivotaltracker.com/story/show/77119220
https://docs.djangoproject.com/en/dev/ref/contrib/csrf/#testing
Merge pull request #186 from alphagov/csrf-reauth

Bugfix: CSRF check rejecting reauth
Move authorization code to shared lib

We will want to authorize endpoints in more than just the datasets app.
We should move the authorization code into a shared location for use
elsewhere.
Add models and migration for Node and NodeType

This uses the django-mptt library to handle the database structure and
queries required to manage a tree.

It is worth noting that this will not cover absolutely every organisation
in government as it only supports a single parent. Very few organisations,
which luckily don't have any high volume services have multiple departmental
parents.

The organisation structure has otherwise been kept as simple as possible
with nodes being very abstract and identified with a defined type. This
should allow us flexibility as we layout our model of government.
Add endpoints for organisation manipulation

We need endpoints to add nodes and types of nodes so that we can migrate
the current organisation structure we are using into Stagecraft.

Includes some fixtures about cheese, because they are things and I
lacked imagination
Update README.md for multiple apps

We now have multiple apps in Stagecraft and the README needs to be
adapted to convey this.

I've also split up the initialising instructions from the steps to add a
migration for a new model.
WIP dashboards
Methods for adding / getting links on dashboards

 - Only one transaction link per dashbooard
 - Multiple other links available
Pep-8 fixes