Link to upload data page in navigation bar

Everyone who can sign in can see this, so there's no need to wrap
it in logic.
Add @requires_permission decorator

This decorator takes a string and either redirects the user or
allows them to continue on with their request.
Add view helper to conditionally show navigation

We want to show a link to allow the user to edit dashboards, but
only if they have that permission.
Add dashboard index page

This page will list dashboards that the user is able to edit.

The page itself and the menu navigation for it are only visible to
users who have the 'dashboard-editor' permission.
Move sign-out route into authentication

Signing out is realted to authentication so we should move the route
into the related file.
Add /sign-in route for development

This work should allow use to develop Performance Platform without using
signon. If we are in development (have the DEBUG config set) then it
will expose a new route that will setup the session using fake user
information stored in the config file.
Merge pull request #46 from alphagov/73958164-flag-dashboard-admin

Add a flag to conditionally display dashboard administration
Merge pull request #47 from alphagov/add-development-signin

Add development signin
Respond with json when accept header set

This is required to support javascript drag and drop uploading of files.
The upload code was refactored to output a common response object this
meant the removal of the error page to unify where the response
redirected to. Messages have been moved inline until we gain the
intermediary "preview" pages.
Add dropzone implementation for file upload

Drag and drop file upload with custom styling and error handling
Change styling of upload success and error

Previously the styling was functional but not very pleasant. This steals
some colours from govuk_frontend_toolkit and uses them.
Improve file_upload CSS

Catch a few different cases where message might not have a payload or
the payload might not be a list.

Wrap everything up in a closure because it is pleasant.
Style error messages on file upload failure

Also display a message on successful file upload. This involves
refactoring so we dont return the success message, but assume if there
are no problems returned there is an error state
Handle new success response in JS

To indicate success, as well as a 200 response we sent no problems. We
now have to add a message to the list if this is the case.
Emphasise that files can be select or dropped
Better styling for upload messages

- Added a margin
- Don't display success message as a single list item
- Use default list styles for validation errors
Merge pull request #48 from alphagov/upload-status

Upload status
Wrap data type in span

We need to be able to pick up which data types are listed in our smoke
tests. When the JS spins up it removes the fallback div so we cannot
pull it from there.
Merge pull request #49 from alphagov/upload-status

Wrap data type in span
Revert "Wrap data type in span"