Merge branch 'release-1.2.6' into develop

* release-1.2.6:
  Bumping version to 1.2.6
  Bump bcdoc version
  Update changelog with latest features
Update failing ec2 test
Remove tutorial in favor of user guide
Merge branch 'remove-tutorial' into develop

* remove-tutorial:
  Remove tutorial in favor of user guide
Handle a list of strings from a dict in text output

This situation comes up in commands such as
`aws ec2 describe-load-balancers`.  The output
now looks as expected:

Now:
AVAILABILITYZONES	us-west-2a
HEALTHCHECK	10	30	HTTP:80/index.html	5	2
LISTENER	80	HTTP	80	HTTP
SOURCESECURITYGROUP	amazon-elb-sg	amazon-elb
LOADBALANCERDESCRIPTIONS		a	b	c	d
AVAILABILITYZONES	us-west-2b

Before:

AVAILABILITYZONES	us-west-2a
HEALTHCHECK	10	30	HTTP:80/index.html	5	2
LISTENER	80	HTTP	80	HTTP
SOURCESECURITYGROUP	amazon-elb-sg	amazon-elb
LOADBALANCERDESCRIPTIONS		a	b	c	d
us-west-2b
Merge branch 'text-output-list-string' into develop

* text-output-list-string:
  Handle a list of strings from a dict in text output
Add changelog entry for issue 516
Log CLI/botocore version in the debug logs

This is useful when debugging CLI issues.
Merge branch 'log-versions' into develop

* log-versions:
  Log CLI/botocore version in the debug logs
If --private-ip-address is specified with any other options that require the creation of a NetworkInterfaces structure, move the value of --private-ip-address into the NetworkInterfaces structure.  Fixes #520.
Remove src/dest resource existence check

Rather, just try the operation and handle the case
when it fails.  This is to address issue 328.  The problem
is that in order to verify that the resource exists, we need
a separate set of API calls than we use to actually retrieve/upload
the resource.  This is problematic if you want to give specific
permissions for a user (they only have access to download files, they
can't see a list of available files).
Add attributes to exception in errorhandler

This lets code programmatically process the error attributes.
Remove newline between task fail and error messages

This makes it easier to follow that a particular upload failed
for a specific reason, rather than having to track this over multiple
lines.
Add a short circuit path for listing a specific s3 object

This avoids the need for calling a ListObjects command.
Add tests that verify what ops were called

Verify we only call GetObject/PutObject for the cp
command single file uploads/downloads.
Fix an assumption in argprocess.py that all map types will have an enum of possible keys.  Also change the import of json to come from the botocore.compat module and also set the object_pairs_hook to use OrderedDict so unit tests can be compared properly.  Dependent on https://github.com/boto/botocore/pull/185. Fixes #407.
Remove extraneous log statements.
Merge branch 'fix-407' of git://github.com/garnaat/aws-cli into garnaat-fix-407
Add unit test for recursive download
Merge branch 's3-cp-permissions' into develop

* s3-cp-permissions:
  Add unit test for recursive download
  Add tests that verify what ops were called
  Add a short circuit path for listing a specific s3 object
  Remove newline between task fail and error messages
  Add attributes to exception in errorhandler
  Remove src/dest resource existence check