Fix s3put to auto-detect bucket region and act accordingly

This PR fixes #1655. It includes the following changes:

 * Add a `--region` parameter to `s3put`, which defaults to the US Classic region
 * Use `boto.s3.connect_to_region` when creating connections
 * Detect a bucket's region, and if `--region` or `--host` was not passed, automatically set the `S3Connection` region

This fixes uploading cross-region and makes `s3put` generally Just Work (:tm:). Some potential downsides:

 * Detecting a bucket's region requires an extra call, which slows down the script
 * Passing the wrong `--region` results in a broken pipe socket error

@toastdriven, @jamesls, @garnaat please review as this is a fairly major change in behavior.