correct and sort MANIFEST file

currently perl Makefile.PL gives:

	Checking if your kit is complete...
	Warning: the following files are missing in your kit:
			lib/AWS/S3/Request.pm
	Please inform the author.

it appears the lib/AWS/S3/Request.pm has been moved to Roles/ so
correct the MANIFEST file (also added missing BucketAction.pm)
resolve rt.cpan.org #92423 - add endpoint attribute

currently this is hardcoded to s3.amazonaws.com, which is no good
if you want to hit one of the alternative endpoints:

	http://docs.aws.amazon.com/govcloud-us/latest/UserGuide/using-govcloud-endpoints.html

there is also the ability, with this change, to create an emulator
locally so you don't have to go out to the real Amazon endpoint for
testing - this may go someway to addressing the issue that there is
zero test coverage without having the AWS_ACCESS_KEY_ID and
AWS_SECRET_ACCESS_KEY environment variables set. this is problematic
as the module will install cleanly through cpan/cpanm but may not
be actually working as expected

add t/020_endpoint.t test to check the set endpoint attribute is
used - currently this uses a bad hostname and then checks the error
raised when the connection to it fails

update the README.markdown file using pod2markdown to bring it up
to date with the current POD, along with adding the documentation
for the changes in this commit

add Makefile.old to .gitignore
allow AWS_TEST_BUCKET to be set in tests

since we may only have permission to access a particular bucket so
the random bucket name used in this test may not work
add test for AWS::S3::Signer, sporadically failing

this reveals (suspected) hash or load order bugs as, even though we
pass a method and content to the constructor, when we call the
content_type attribute sometimes it is defined and sometimes it is
not. run the test multiple times and you will see this behaviour:

	/Volumes/code_partition/AWS-S3 > prove -Ilib t/030_signer.t
	t/030_signer.t .. ok
	All tests successful.
	Files=1, Tests=7,  0 wallclock secs ( 0.02 usr  0.00 sys +  0.30 cusr  0.02 csys =  0.34 CPU)
	Result: PASS

	[leejohnson@lees-macbook-air J1 C2783 10:49:52 * lee/up_test_coverage]
	/Volumes/code_partition/AWS-S3 > prove -Ilib t/030_signer.t
	t/030_signer.t .. 1/?
	#   Failed test 'content_type'
	#   at t/030_signer.t line 32.
	#          got: ''
	#     expected: 'text/plain'
	# Looks like you failed 1 test of 7.
	t/030_signer.t .. Dubious, test returned 1 (wstat 256, 0x100)
	Failed 1/7 subtests

	Test Summary Report
	-------------------
	t/030_signer.t (Wstat: 256 Tests: 7 Failed: 1)
	  Failed test:  4
	  Non-zero exit status: 1
	Files=1, Tests=7,  0 wallclock secs ( 0.02 usr  0.01 sys +  0.37 cusr  0.02 csys =  0.42 CPU)
	Result: FAIL

sometimes the test will pass but raise an uninitialized variable
warning, sometimes that will be absent. so there are clear hash or
load ordering bugs here (tested with perl 5.18)
resolve jdrago999/AWS-S3 #7 - load order bugs in Signer.pm

update test coverage on the AWS::S3::Signer module, which when run
under perl 5.18 and above shows load/hash order bugs in the module

these can be fixed by making any attributes that have a default set
to lazy => 1, as these depend on other attributes that may or may
not have been set when they are called within these defaults. if we
set these to lazy we make sure the other attributes have been set
first

remove commented out code, and remove the required => 1 from any
attributes that have default or lazy set as this doesn't make sense
in all but the narrowest use case (which isn't in use here)

remove the _urlencode method as it isn't called from anywhere within
this distribution

modify the bucket_name attribute to use the ->endpoint attribute in
its regexp rather than hard coding this
add test for AWS::S3::File

monkey patching some routines to make it a unit tests without it
going out to Amazon
add signed_url method to AWS::S3::File and tests

this returns the signed URL for public access to the file, the expiry
time can be passed into the method or will default to now + 1 hour in
the future. add perldoc and tests for these changes, update MANIFEST

although the URL is built on the client side this has been implemented
using the same structure as other requests with a GetPreSignedUrl class
that uses the AWS::S3:Roles::Request role to get at the _uri attribute

we don't actually go out to AWS for this method, but who knows what the
future holds?
Merge pull request #9 from leejo/lee/get_pre_signed_url_request

Add signed_url method to AWS::S3::File and tests