Merge branch 'release-1.2.10' into develop

* release-1.2.10:
  Bumping version to 1.2.10
  Update changelog with latest changes
Honor REQUESTS_CA_BUNDLE env var

This allows a user to specify a different cert bundle via an
env var.  This uses the new verify arg added to get_endpoint
in botocore.

Previously it was creating an Endpoint object and then setting the
verify attribute, but the REQUESTS_CA_BUNDLE lookup happens before
an Endpoint object is created, so we would override the value
from the env var.  By using the verify arg in get_endpoint we
can avoid this.
Udpate changelog with new entry
Updated the README with the correct list of services and their Preview status.
Support --recursive in the aws s3 ls command

This will just list the objects in the same order they come back
from s3, similar to `find . -type f` locally on a posix system.
Update test to not care about timezone info

Otherwise this will fail on machines not in my timezone.
Move param table population to S3SubCommand class

We don't need to go through the plugin/event system to
populate the argument table.  The S3SubCommand should own
and control the initial population of the table.

This also fixes a failing unittest.
Explicitly check for AWS_CA_BUNDLE env var
Fix indentation and remove unnecessary code
Merge branch 's3-ls-recursive' into develop

* s3-ls-recursive:
  Fix indentation and remove unnecessary code
  Move param table population to S3SubCommand class
  Update test to not care about timezone info
  Support --recursive in the aws s3 ls command
Merge branch 'cacert-envar' into develop

* cacert-envar:
  Explicitly check for AWS_CA_BUNDLE env var
  Udpate changelog with new entry
  Honor REQUESTS_CA_BUNDLE env var
Retry intermittent S3 download failures

This builds on the recent work in botocore
(https://github.com/boto/botocore/pull/210) to address two things:

* ensure than any .read() call used from the streaming response of
  `GetObject` will never hang.  We do this by applying a timeout
  to the underlying socket.
* Catch and retry IncompleteReadError. There may be times when we
  don't receive all of the contents from a `GetObject` request such
  that amount_read != content-length header.  Botocore now checks
  this and raises an exception, which the CLI now catches and retries.
Adding additional documentation about the --grants option for the s3 command.
Merge pull request #595 from garnaat/s3-grants-docs

Adding additional documentation about the --grants option for the s3 command
Merge branch 'retry-s3-download' into develop

* retry-s3-download:
  Retry intermittent S3 download failures
Merge branch 'skyzyx-feature-preview' into develop

* skyzyx-feature-preview:
  Updated the README with the correct list of services and their Preview status.
Update README with instructions on using develop branch
Merge branch 'readme-dev' into develop

* readme-dev:
  Update README with instructions on using develop branch
Document supported config file variables

This includes the newly added metadata_service_timeout and
metadata_service_num_attempts.  As part of this change,
I've added the ability for custom commands to provide their
description/synopsis/examples in rst files.  That way
the classes for commands do not have to include
the documentation text as part of the class definition.
Merge branch 'config-docs' into develop

* config-docs:
  Document supported config file variables