optional 'host' parameter to use any S3-compatible host

Allows Net::Amazon::S3 to be used with any S3-compatible host by
setting the 'host' parameter when creating the Net::Amazon::S3
object. This allows you to override the default of 's3.amazonaws.com'.

Example:
my $s3 = Net::Amazon::S3->new({
	aws_access_key_id     => $aws_access_key_id,
	aws_secret_access_key => $aws_secret_access_key,
	retry                 => 1,
	host                  => 'my.s3.compatible.host.com',
});
allow for more easy subclassing of ::Client
Support Content-Disposition in put_filename
Document content_disposition attribute
Consistent error reporting for put and put_filename
Factor out shared guts of put and put_filename

This should prevent future bugs like that affecting the content_disposition
option.
Support reduced-redundancy storage
Support uploading and downloading user metadata
Support decoding Content-Encoding on GET
fix synopsis for s3cl sync_up
Allow 'value' property to be ScalarRef
Support server side encryption
Modify a test to use AES256 encryption
Indent changes
Add documentation for server-side encryption
Added support for cache-control header
Merge branch 'abort_multipart_upload'
Update Object.pm

The non-arrayref forms of enum and duck_type have been deprecated
Update HTTPRequest.pm

The non-arrayref forms of enum and duck_type have been deprecated
Update Request.pm

The non-arrayref forms of enum and duck_type have been deprecated