Merge branch 'master' of git://github.com/s3tools/s3cmd
Merge pull request #4 from s3tools/master

Merge 1.5.0-alpha2
S3Request - Include 'body' in 'request' in preparation for AWS4 Signature

AWS4 Signature includes a hash of the body - therefore we need the request
body at the time we do request.sign()
AWS4 - Moved signing methods to Crypto.py
Merge ssh://github.com/s3tools/s3cmd
Merge AWS4 Crypto Work in Progress
signature v4 signing
added comment in signature selection
added temporary bucket to region mapping
handle status 400 - location, when no data are returned by API
fix in params urlencode
Check that HTTP 400 response includes data

Some S3 API calls return HTTP 400 responses due to incorrectly-signed
headers.  These should also include 'data' in the response, but alas,
some do not.

Don't crash just because S3 didn't give us what we expected.
debug() the signature-v4 headers

so we can see what is actually being sent.
fix in bad region responses
fixed put file and multipart upload
finish merge of signature-v4 into master
finish merge cleanup
CloudFront: fix connection put() using ConnMan