Don't make an s3 call in sigv4 test

Because we're switching out the AWS_CONFIG_FILE, we can't make
an actual request because we don't have credentials.

This was working previously because a dev may have had other credentials
further down the chain that we picked up to make the S3 call.
Update storagegateway/emr to latest model versions
Update SWF model to the latest version
Bumping version to 0.80.0
Merge branch 'release-0.80.0' into develop

* release-0.80.0:
  Bumping version to 0.80.0
  Update SWF model to the latest version
  Update storagegateway/emr to latest model versions
  Don't make an s3 call in sigv4 test
  Added an integration test for safe chars
  Update to fix broken s3 create multipart upload
  Fix double url encoding of canonical query string
Allow binary to be sent to user data

This is necessary because gzip files can be passed in as user data when
launching instances.
Update EC2 user data tests.
Merge pull request #416 from kyleknap/user-data

Allow binary to be sent to user data
Add `emit_until_response` to event emitter.

This adds a new method called `emit_until_response` which will call
all of the handlers for an event in order **until** one of them
returns a non-`None` response. Once that handler is reached, processing
of the remaining handlers stops.

It is currently not used by anything, but is included as part of #414.
Add RequestSigner class.

This introduces a new `RequestSigner` class to handle the signing of
requests. It fires the following events:

* `choose-signer.service.operation`: Allow overriding signature version
* `before-sign.service.operation`: Allow mutating request before signing

It is currently not used by anything, but is included as part of #414.
Update copyright year [ci skip]
Merge pull request #418 from danielgtaylor/signers

Add RequestSigner class.
Updates based on code review.

* Rename `args` -> `kwargs`
* Add new tests and make handlers return different values.
Merge pull request #417 from danielgtaylor/emit-until-response

Add `emit_until_response` to event emitter.
Refactor to decouple auth/endpoints and unify events.

This change decouples authentication from the `Endpoint` class and
introduces a new `RequestSigner` class to handle the signing of
requests. It fires the following events:

* `choose-signer.service.operation`: Allow overriding signature version
* `before-sign.service.operation`: Allow mutating request before signing

This also fixes the EC2 encrypted snapshot copying customization to work
with clients, as well as implements the changes needed for boto/boto3#39
(signature version overrides) and boto/boto3#30 (anonymous operations)
for the Botocore client interface.

The previous `before-auth` event is now removed, and all handlers that
previously used an endpoint's `.auth` property are now switched to
use the request signer. This may require changes upstream in the AWS CLI
as it is a potentially breaking change.

Additionally, the event emitter now supports an `emit_until_response`
method that will **stop** processing handlers once the first non-`None`
response has been received.

Tests have been updated/moved/removed accordingly.
Fix failing test