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
Remove mock from Python 3 requirements.
Add dynamodb2 to whitelist
Remove code for Python 2.5 compatibility.
Fix __nonzero__ => __bool__
Fix some tests.
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
Retry installation commands on Travis CI

As recommended in http://blog.travis-ci.com/2013-05-20-network-timeouts-build-retries/
Merge remote-tracking branch 'origin/develop' into dynamo2-py3

Conflicts:
	boto/dynamodb/types.py
	tests/test.py
Fix tests.
Treat bytes as binary type on Python 3.
pyami module: tidy up to meet PEP8 better