Allow use of S3 buckets in regions other than us-east-1.

Work around region issue in S3Backup.new_connection and
boto.storage_uri.  When attempting to connect to a bucket in a
non-standard (non us-east-1) region, boto complains

  S3ResponseError: 301 Moved Permanently
  The bucket you are attempting to access must be addressed using the
  specified endpoint. Please send all future requests to this endpoint.

Naming collision fix contributed by Toby Collier (@tobyw4n)

Add a unit test and integration test.  This adds a testing dependency on
unittest2 which is a Python 2.6 backport of the unittest module
improvements in Python 2.7.

Having AWS credentials in your environment along with the
WALE_S3_INTEGRATION_TESTS (any arbitrary value) will trigger inclusion
of the integration tests.

References:

  https://github.com/boto/boto/issues/443
  https://github.com/heroku/WAL-E/issues/24

Signed-off-by: Bo Shi <bs@alum.mit.edu>
Signed-off-by: Daniel Farina <drfarina@acm.org>
Fix upper case bucket names regression (from #3).

Evidently, boto.storage_uri called without extra connection arguments
constructed a connection object compatible with uppercase bucket names
(which I discovered today is only allowed in us-east-1; one gets an
error attempting to create a bucket with an uppercase name in all other
regions).  Issue #3 added a 'host' connection argument that appears to
have changed the configuration.  Explicitly request the appropriate
calling format.

Signed-off-by: Daniel Farina <daniel@heroku.com>