"setup" option and refactor of old setup_* options

This implements the `setup` part of #206. There is now a `setup` option, which takes shell commands with Hadoop Distributed Cache-style syntax for files that you wish to have magically uploaded.

This branch includes Pull Requests #603 and #605, which means you can either kill three birds with one stone by pulling this branch, or that you can get a simpler diff by pulling those branches first.

Still to do:
 * bootstrap script
 * globs
 * documentation, including deprecation of the old options. My plan is to deprecate everything except `bootstrap_mrjob`, `upload_archive`, and `upload_file`, and provide a setup command people can use instead.