[WM JE] catch S3, SQS, and file deletion exceptions separately

This allows better error messages when something goes wrong. But I hate the nesting (specifically how the relevant catch is pushed farther from its try). Does anyone know of a better way?
[WM JE] slight refactor to make starting the server more REPL-friendly
[WM JE] add CWD to allowed FTP commands because testing client lib runs it

Is this safe? Do we need to do anything to make sure clients can't change to /tmp and fill the disk (for example)?

The alternative would be to fork & fix the client lib or approach testing differently.
[WM JE] add a test for user-specific S3 bucket config

Fails as of this commit, handing off to Jen to make it pass.
[JE WM] enable user-specific s3 buckets and defaults
[WM] remove vestigial dynamic var & fix indentation
[WM] add more tests user-specific config tests and refactor
[WM] add CWD to allowed-commands only when running tests

The miner.ftp client lib we're using in the tests always issues a CWD on
connect. We'd rather not have that be allowed in production, so this
adds it to the allowed list in the test `run-server` fixture only.
Merge pull request #5 from turbovote/user-specific-configs

User specific configs