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
Fixing bug in cloudsearch2 commit implementation. The response object along with the errors list goes missing and the user of the boto library cannot determine the cause of the commit failure and can't address certain cases automatically by parsing the errors list. This is an attempt to fix this. There are better ways but this is one that has the least impact on the codebase and tests.
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
adding marker param to describe all elbs
dynamodb module: add backward-compatible support for Python 3.3+
fix unittest import, skip lossy_float_conversion for python 3.x, and fix bytes
fix one missing bytes()
Remove mock from Python 3 requirements.
Add dynamodb2 to whitelist
Remove code for Python 2.5 compatibility.
Fix __nonzero__ => __bool__
Fix some tests.
Merge branch 'develop' into kozmaz87/cloudsearch2
Removed unnecessary duplicate of CommitMismatchError from search.py and added test for the fix.
Python 3.3 compat
Fixing the workaround :)