Symbols tagged as flattened, when per API they shouln't
Merge branch 'develop' of https://github.com/pplu/botocore into develop
Fix base64 serialization in JSON protocol

This includes adding additional protocol tests for blob serialization.
These were no tests for blobs in the json protocol input tests.

Fixes #385, aws/aws-cli#1033
Switch kinesis integ tests over to client interface
Add integ test for blob serialization in json protocol

This also included adding a waiter config for kinesis.
Merge branch 'fix-json-serialization' into develop

* fix-json-serialization:
  Add integ test for blob serialization in json protocol
  Switch kinesis integ tests over to client interface
  Fix base64 serialization in JSON protocol
Fix failing integ test on py3
Support base64 encoding of bytes input for JSON blob types.

This pull request modifies the code added in ffcef5f to also support
arguments passed in as bytes, such as those you might encounter when
using KMS.

See this related issue: boto/boto3#31

Since the JSON data for serialization tests doesn't support specifying
bytes as input, I've added a new test class to cover this case.
Update the service model for several services
Bumping version to 0.77.0
Merge branch 'release-0.77.0' into develop

* release-0.77.0:
  Bumping version to 0.77.0
  Update the service model for several services
Add Route53 ID customization to Botocore.

This change moves and adds to the customization [currently in the AWS CLI]
(https://github.com/aws/aws-cli/blob/develop/awscli/customizations/route53resourceid.py)
that handles automatically splitting Route53 resource IDs.

For example, `/hostedzone/ABC123` will be changed to just `ABC123` when
used as input to a Route53 service operation. The `Id`, `HostedZoneId`,
`ResourceId`, and `DelegationSetId` input parameters are all handled by
this customization.

This fixes an issue encountered in boto/boto3#28.

A corresponding change will need to be made to the AWS CLI to remove the
customizations there after this is merged in.
Always set the Date header to the current date

This fixes a bug where if you resend a request and resign
it without changing the date, you can get an auth error
that your signature is too old if the retry loops fall outside
the auth window (~15 minutes).

What was happening is that we were trying a failed S3 request,
but because we weren't re-setting the Date header, eventually
the retried request would have a signature that was too old.
Refactor base64 encoding for serializers.

This refactors the base64-encoding into a common method shared by
all serializers. The serializers now get the value using this new
method and just need to set it somewhere in the params.
Always set the sigv4 date to the current time

Part of the reason this change looks more complicated than
you would expect is because we use the sigv4 test suite
(http://docs.aws.amazon.com/general/latest/gr/signature-v4-test-suite.html)
to test our implementation.  However, these tests use a Date header
whereas previous versions used an X-Amz-Date.

We can possibly investigate always using Date instead of X-Amz-Date,
but we'd need to make sure we aren't introducing any regressions.
Merge pull request #397 from danielgtaylor/json-bytes-blob

Support base64 encoding of bytes input for JSON blob types.
Remove unnecessary check for 'Date'
Check against Route53 parameter shape types
Merge branch 'fix-auth-date' into develop

* fix-auth-date:
  Remove unnecessary check for 'Date'
  Always set the sigv4 date to the current time
  Always set the Date header to the current date
Merge pull request #398 from danielgtaylor/route53-builtin-handler

Add Route53 ID customization to Botocore.