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
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
Fix run_instances network_interfaces arg doco

network_interfaces takes a
boto.ec2.networkinterface.NetworkInterfaceCollection object, not a list.
Fix integration tests.
Fix integration tests.
Update README
Add test for EMR step config, fix bug
Merge pull request #2460 from felixonmars/pyami-tidy

pyami module: tidy up to meet PEP8 better. Fixes #2460.