Add Python-RQ worker and make sure it's started when needed
Auto-start an rqworker for manage.py tasks that need one
Enqueue potentially time-consuming secure unlinks
Test that deleted files are actually removed from the filesystem

The tests use a polling wait since deletion is handled by a polling
worker, and secure deletion can be time consuming. At the moment, the
test files are all very small, so they secure delete quickly. The added
overhead is < 1 second.

This increases test coverage as well - previously, we were not testing
that deleted files were actually removed from the filesystem.
Add debugging for intermittent (very infrequent) scrypt error
Ansible playbooks set up supervisor to run job queue worker
Use separate job queue for jobs from manage.py test

Python-RQ is nice because it lets us schedule jobs that are arbitrary
Python functions. The downside is that, due to our messy "config as a
module with values derived from an environment variable" setup, there
can be issues. For example, jobs sent from the tests will not run
correctly on the default worker (started by supervisor), because they
were started with different values for SECUREDROP_ENV and therefore have
different SECUREDROP_ROOTs.

Clearly this whole situation needs to be improved but this hack is
reasonable and works well for now:

1. Use a separate "test" queue for jobs triggered by the tests
2. Start/stop a temporary "test"-queue-only rqworker for the tests
Increase memory allocation for development VM

Functional tests have recently been failing due to "out of memory"
errors. My theory is that this is due to the new release of Firefox,
which came out two days ago (and usually takes a day or so to make it
into the mainline repos) using more memory than the previous release.
Timelines match up, although I haven't done any further testing to prove
this.

Nice side effect: increasing the amount of available memory makes
Firefox run faster, which makes the functional tests run faster. Also
appears to eliminate various intermittent errors from the functional
tests, such as the "empty status line" error from Selenium and the
TypeError from python-gnupg. This makes sense!
Fix Travis builds

For some reason, redis-server does not start automatically after it is
installed on Travis. *shrug*
Merge pull request #647 from freedomofpress/task-queue

Task queue