No longer run DelayedJob synchronously in test environment.
Alter tests that involve delayed job to explicitly work off their jobs.

The reason to do this is so that we can (if we want) test things
involving delayed jobs in parts. I.e. test that what is supposed to
create the job actually does so (without running it) and also
supposing that we have a delayed job already test that when it is
run the right thing happens. To test some things this will be
necessary.

I haven't retroactively changed tests to do this, and moreover it's
not clear that that should be done, and for many of them the delayed
processing is incidental.
Add some amazon backup tests
Remove some unused code
Fix amazon table on dashboard a bit
Require name to be present.
Working on making many of the steps more generic (and hence reducing
the amount of step code needed and the need to write many steps in
the future).
Test/step refactoring.
More test refactoring.
Test refactoring
Test refactoring
Test refactoring
Merge branch 'refactor'

Largely test refactoring.