Handle Cloudsearch Indexing Errors

Previously the code handled errors on individual items but not an error response that included no 'adds' or 'deletes' keys resulting in a KeyError
Added test for cloudsearch indexing errors
Fixed search options. The parameter is not 'options' but 'q.options', as specified in https://docs.aws.amazon.com/cloudsearch/latest/developerguide/search-api.html#search-request-parameters
Added new generate and get credential report API calls
Created simple unit tests for the 2 credential report APIs
fixes typo bug #2428
SQS module: add support for profile_name
Merge pull request #1 from behanceops/sqs-connection-profile-name

SQS module: add support for profile_name
Fix parsing of EMR step summary response.

EMR step summaries can now contain a `<Config>` section that includes a list
of arguments. The argument list contains items wrapped in `<member>` and this
gets picked up by the step list parser to incorrectly create blank EMR step
objects. The fix is to parse the config and arguments so that they don't
bubble up to incorrectly become new step objects.
Add pypy to tox config
Add support for MTurk's GetFileUploadURL.
Add test for EMR step config, fix bug
remove obsolete md5 import routine

The old md5 module was deprecated since Python 2.5, and we even didn't
support that version already. The current implementation in
boto/utils.py will not even work under Python 2.4 because of the name
"md5" imported from md5 module was replaced by the md5 module in the
following routine, which will cause errors.
glacier module: tidy up to meet PEP8 better
ec2 module: tidy up to meet PEP8 better
Add recognized HTTP headers

Add X-Robots-Tag and Content-Language as HTTP headers which should not have x-amz-meta prefix.
Update wheel to be universal for py2/py3
use encodebytes instead of encodestring (#2483)
fix TypeError when getting instance metadata under python 3 (#2485)
Merge pull request #2484 from piotrbulinski/develop

Use encodebytes instead of encodestring. Fixes #2483, #2484.