Merge branch 'release-0.30.0' into develop

* release-0.30.0:
  Bumping version to 0.30.0
  Update models to the latest version
Honor REQUESTS_CA_BUNDLE env var in Endpoint class

This allows users to set the path to a cert bundle.
The logic is:

* Any explicit value passed to get_endpoint() is used
* Otherwise use REQUESTS_CA_BUNDLE if the var exists in the env
* Otherwise, default to true.
Add verify arg to get_endpoint in Service object
Update elasticache model to the latest version

Summary of changes:

* REMOVED: Key removed in CreateCacheCluster.CacheNodeType: required
* REMOVED: Key removed in CreateCacheCluster.Engine: required
* REMOVED: Key removed in CreateCacheCluster.NumCacheNodes: required
* DOCS: DeleteReplicationGroup operation documentation has changed.
* ADD: New argument added to operation DeleteReplicationGroup: RetainPrimaryCluster
Merge branch 'honor-cacert-envar' into develop

* honor-cacert-envar:
  Add verify arg to get_endpoint in Service object
  Honor REQUESTS_CA_BUNDLE env var in Endpoint class
Merge branch 'update-elasticache-model' into develop

* update-elasticache-model:
  Update elasticache model to the latest version
Move module vars into session class vars
Rename env vars to session vars

There's already a concept of OS environment variables, so
renaming the session variable mapping from environment vars
to session vars makes things a little more clear.
Rename get_variable to get_config_variable

get_variable is aliased so this is s backwards compatible change.
Add support for per session config vars

You can use set_config_variable to set a config var
for a specific session instance.
Add session config vars for metadata retry/timeouts

In addition, num_retries has been mapped to num_attempts, as it's
easier to think about the total number of times vs. the first time
and the number of retries.
Add default param to get_config_variable
Fix elastictranscoder service

This fixes two issues to get elastictranscoder working:

* account for the `rest-json` service type in `get_response()`
* account for query strings coming from the url path in sigv4 signer

I've also added integration tests that verify we can talk to
the Elastic Transcoder service as expected.
Merge branch 'metadata-retry-config' into develop

* metadata-retry-config:
  Add default param to get_config_variable
  Add session config vars for metadata retry/timeouts
  Add support for per session config vars
  Rename get_variable to get_config_variable
  Rename env vars to session vars
  Move module vars into session class vars
Fixing an issue that came up while fixing https://github.com/aws/aws-cli/issues/593.
Fixing an issue that came up while fixing https://github.com/aws/aws-cli/issues/593.
Simplifying code and fixing test to use unicode constant.
Small tweak to simplify.
Detect incomplete reads (content length mismatch)

Requests doesn't do this for us (nor does urllib3).
We need to detect incomplete reads both in the case where
we read the body all at once and also when we stream the
object (i.e a `GetObject` request).
Use unittest2 on python2.6