Prevent upload to unauthenticated users

Includes:
* redirecting unauthentiated users to sign in page
* upload validation tests now use splinter

@alexmuller
@maxfliri
Decrease splinter timeout to 3 seconds

@alexmuller
@maxfliri
Allow user access to upload based on permissions

@alexmuller
@maxfliri
Refactor tests for readability

@maxfliri, @alexmuller
Permissions checking extracted to class

@alexmuller, @maxfliri
Add unit tests for Permissions class

@maxfliri, @alexmuller
Method renamed to a more sensible name

@alexmuller, @maxfliri
Fix user name in page top bar

@alexmuller, @maxfliri
Fail if another instance of the app is already running

@maxfliri
@alexmuller
Ensure http test client cleans up all subprocesses in case of exception

@maxfliri, @alexmuller
allow raw queries to fco transaction buckets
add tokens for fco transaction buckets
Extracting client base class

@maxfliri
Add config directories to pep8 exclusion list
Add MIT licence
Merge pull request #97 from alphagov/add-licence

Add MIT licence
Merge pull request #93 from alphagov/imrove-subprocess-management

Improve subprocess management
Merge pull request #94 from alphagov/fco_transactions_read_api

allow raw queries to fco transaction buckets
Add trailing comma

To make diffs easier.
Merge pull request #95 from alphagov/fco_transactions_write_api

add tokens for fco transaction buckets