Add body and index to BatchSendError.failures

* Add :message_body and :batch_index to entries in BatchSendError.failures.

* Updates specs to reflect this

Updates specs to reflect the changes.
Update documentation for BatchSendError.

Note that the previous documentation was copied from
BatchChangeVisibilityError and contained inaccuracies.
Renamed AWS::Core::Signature module to Signers.
Removed per-service custom Http::Request classes.

* All services (except S3 for now) use AWS::Core::Http::Request now
* Refactor signer modules into signer classes
* Configured each client class with what signer it uses.
Removed the autoload statements for the service specific request classes.
Added the S3 and CloudFront signers.
Moved the signers base module into AWS::Core::Signers::Base.
Updated Support service to use new request structure.
Removed redundant request specs.
Updated remaining few S3 objects and specs to use new signer.
Moved a few attributes from AWS::S3::Request to AWS::S3::Client.

Working towards removing the S3 specific HTTP request class.
Moved signing logic out of the AWS::S3::Request class.

More progress towards removing the final service-specific request
classes.  The S3 signing logic is also now re-usable and can now
be used to provide pre-signed requests for all S3 operations.
Added an eventually block around an integration test step to improve reliability.
AWS::S3::Client now uses a v4 signer when possible.

It does not yet support chunked signing or pre-signing with v4.
Added a sigv4 chunk signer extension.
Improved the performance of the sigv4 chunk signer.
No longer using StringIO for the internal buffer in the sigv4 chunk signer.
Fixed a bug caused by rebasing.
Added support for AssociatePublicIpAddress option in LaunchConfiguration. Fixes Issue #372
Duplicate frozen strings before forcing the encoding to prevent a RuntimeError