Change host_bucket on forward after signature v4 request failure

Just as we handle --region on the command line, S3 may forward us to a
different region after a request is made.  If so, change our
host_bucket value because S3 told us to.

This moves the set_host_bucket() function out of s3cmd and into S3/S3.py.