LIBCLOUD-169: Refactor AWS connection and response to reduce code duplication

As promised in the elb pr, here is a follow up patch to reduce code duplication. I haven't run pep8 over it yet, but the tests pass. I'm AFK for a few days, but wanted to at least get something up here.

I think this error parsing can be applied to the EC2 backend too but wanted to get some feedback on the general approach first.