Update to latest parallel test runner
Define test class in context it is accessed

This ensures the tests still work when run using the parallel test
runner.
Use transactional strategy for database cleaner

The parallel test runner performs better with the transaction strategy
Stop quarantine-file scenarios stomping each other

We simulate a mutex to prevent these scenarios stomping over each
other's file data when they are run in parallel
Ensure the parallel databases exist in Jenkins
Create folders for testing uploads
Rake task for running parallel tests
Force database encoding to utf-8 in database.yml
No need for QuarantineFileStorateSimulator here
Only use fake mutex during parallel tests

Travis doesn't like these filters
Note regarding overriding number of processors
Revert "Use transactional strategy for database cleaner"

Wrapping each test in a transaction is bad because it means we cannot
test transactions within individual app requests.
Merge pull request #562 from alphagov/parallel-test

Parallel tests