Allow only one refresh at once for thread-safe
Merge pull request #79 from sorah/lock-instance-profile-refresh

Allow only one refresh at once for thread-safe
WIP
Added support to Aws::Support::Client for attachments.
Added support to Aws::IAM::Client for credential reports.
Updated API reference documentation for Aws::CloudSearch::Client.
Removed dangling example tags from Aws::CloudSearchDomain::Client API documentation.
Added deprecation warnings to Aws::SVC.new
Removed usage of deprecated Aws::SVC.new methods from specs.
Added a client helper method to Service.
Added unit test to InstanceProfileCredentials for another possible failure case.
Improved the error message when unable to connect to target endpoint.

Prefixing the SocketError message with the hostname of the
endpoint that was unable to be reached/resolved.

Fixes #70
Simplified a long time code/message.
Added support for `Expect: 100-continue` to Aws::S3::Client

Amazon S3 supports the Expects: 100-continue header. Clients that
do not implement this are prone to have S3 close the socket
when an HTTP request is determined to fail. This is generally
caused by one of the following issues:

* Insufficient access privileges
* Malformed headers, such as Content-MD5
* Request too large
* etc

In each of these cases the client needs to wait for a 100 continue
response before sending the payload to avoid having the socket
closed.

This commit adds this header and then also patches Net::HTTP's
implementation of 100 continue. Bugs in the Http#transport_request
method prevent it from responding to non-100 continue errors.
This is caused by the 100-continue using a throw/catch block
that does not wire-up the response body. This then causes
the #end_transport method to raise a runtime error (NoMethodError)
when it attempts to access the response body.

Additionally, it patches, for Ruby 2.0+ only, the #transport_request
method to rewind the #body_stream of the request when it is
rewindable. Without this patch, net/http will attempt to resend
idempotent requests without reseting the request body position.
This causes requests that fail part way through to only send
part of the body.

See #81
Fixed an issue in the 1.9.3 support - missnamed the transport_request method.

See #81
Added a batch operation to S3.
Merge pull request #82 from aws/100-continue

Added support for `Expect: 100-continue` to Aws::S3::Client
Significantly reduced the size of the final gem file.

The resultant gem file for `aws-sdk-core` was previously
about 800k. It now builds to 214k. The following changes
have been made:

* Removed all unecessary runtime files from the gem:
  * unit test files & fixtures
  * integration tests
  * doc src

* Now minifying the API models
  * removing whitespace
  * removing doc traits

The removal of doc traits accounts for the largest
savings. Removing whitespace from the API JSON models
is also significant.
Update README.md
Added support for connection settings to Aws::ElasticLoadBalancing::Client.