Add support for Amazon*AsyncClient

To handle asynchronous return, handle the returned future
-OR-
pass optional keyword arguments :on-success and :on-error
with your method calls.  These should be functions accepting
arguments [*Request, *Response] and [Exception], respectively.

This commit also implements the AmazonSQSAsyncClient.