Fix invalid region setting

"bucketname" isn't a valid region.
Fix signature in the presence of custom headers

Resolves invalid signature for example if you add metadata to your
S3 objects.

This will sign any additional headers with X-Amz prefix.
Merge pull request #11 from duego/fix_s3

Fix s3