Fix CloudSearch2 to work with IAM-based search and upload requests

Fixes https://github.com/boto/boto/issues/2657.
Correctly signs headers when submitting batch uploads and search requests.
For boto, we typically do not include the author for the specific module. The reason being is that we have so many contributors that it would get pretty messy to include every developer who has contributed to a specific module. 

I believe the only location in which an author is explicitly mentioned in the code is in the ``setup.py`` for Mitch Garnaat, the developer who started boto.

The good news is your authorship will be noted once this pull request is merged. You will show up as the author of the commits that get added and you will show up as a contributor of boto. Let me know how you feel about this.

In the case you were just worried about an empty ``__init__`` file, it is fine to have a blank ``__init__`` file. It happens in various ``__init__`` files throughout boto.