Refactored AmazonWebService, added test tests, some bug fixes

Added unit test for AmazonWebservice and fixed a few bugs/missing methods I found with it:
 - added getElasticTranscoderAsync
 - added getGlacierAsync
 - getRedshift would return the asynchronous client when credentials were given

Renamed getElb(Async) to getElasticLoadBalancing(Async) to be more consistent, this might be a breaking change for some, but the docs were already using this name.

The check if a client was in the (async)clients Map already was not correct, so every request a new client was created, this is fixed now.

Refactored the service to have less duplicate code.
We could take this a step further by using the methodMissing concept, but the available methods will not be exposed anymore. I've done this in the refactor2 branch: https://github.com/MGotink/grails-aws-sdk/tree/refactor2