Add waiters for ec2 instance status checks

* instance-status
* system-status

... because Windows instances take way longer to come up than non-Windows.
Feedback
Merge branch 'master' into ec2_status_watchers
Wait for image to be available
Refactored internal implementation of defining an AWS client.
Moved S3 waiter customization to appropriate location.
Merge pull request #132 from petemounce/waiter_ec2_image

Waiter for EC2::Image to be available
Merge branch 'ec2_status_watchers' of https://github.com/petemounce/aws-sdk-core-ruby into petemounce-ec2_status_watchers
Moved S3 waiter customization to appropriate location.
Merge branch 'petemounce-ec2_status_watchers'

Conflicts:
	aws-sdk-core/apis/EC2.waiters.json
Renamed the EC2 instance status waiters from *Green to *Ok to match api values.
Added changelog entries for the new waiters.
Resolved a test failure.
Expanded documentation on the S3 pre-signed url generator.

Also moved a few integer literals into constants for readability.
Added Aws::S3::Object#presigned_url method.

This method uses the `Aws::S3::Presigner` to generate pre-signed
object URLs.

    s3 = Aws::S3::Resource.new
    obj = s3.bucket('aws-sdk').object('key').

    obj.presigned_url(:get)
    #=> "https://bucket-name.s3.amazonaws.com/object-key?..."

URLs expire in 15 minutes by default. You can configure the
expiration period and provide additional params:

    # url expires in one hour, the file upload will be
    # publicly accessible
    obj.presigned_url(:put, expires_in: 3600, acl: 'public-read')

Fixes #134
Query serializer no longer sends `nil` as empty value.

Fixes #133