Support auth when headers contains bytes

This fixes #2520 by checking whether headers are `bytes` and decoding
them before performing string operations. It adds a new test covering
this functionality which now passes on all supported Python versions.
Pass along params in make_request for elastic transcoder api.
ses module: tidy up to meet PEP8 better
elasticache module: tidy up to meet PEP8 better
Update to latest support API
Documents not found behavior of get_item()
Merge pull request #2541 from danielgtaylor/support-update

Update to latest support API. Fixes #2541, #2426.
Update to latest Redshift API.

This includes several documentation updates and new parameters for existing
service calls. Existing integration tests continue to pass.
Doc updates for CloudSearch
Merge pull request #2545 from danielgtaylor/redshift-update

Update to latest Redshift API. Fixes #2545.
Merge pull request #2546 from danielgtaylor/cloudsearch-update

Doc updates for CloudSearch. Fixes #2546.
Merge pull request #2538 from felixonmars/ses-tidy

PEP8 style fixes for SES. Fixes #2538.
Merge pull request #2539 from felixonmars/elasticache-tidy

PEP8 style fixes for ElastiCache. Fixes #2539.
Merge pull request #2521 from danielgtaylor/header-bytes

Support auth when headers contains bytes. Fixes #2521, #2520.
Merge pull request #2544 from saebyn/patch-1

Documents not found behavior of get_item(). Fixes #2544.
Merge pull request #2537 from gfemec/et_params_support

Pass along params in make_request for elastic transcoder api. Fixes #2537.