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.
Is it common to call this multiple times? What do you think about adding caching instead of recreating the connection each time?