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