Add S3 and SQS integration tests.

This adds integration tests that exercise previously untested functionality,
specifically this adds the following to the existing describe calls:

* Create and delete remote resources
* Call actions to put and get data from remote resources
* Handle low-level responses from a service
* Exercise low-level waiters (to be replaced with high-level waiters)
* Access data attributes of pre-loaded resources with no `load` method

The last item would have prevented #33. This PR is related to #34,
which fixed the underlying issue that this test would have caught.

The full integration test suite now takes around 20-30 seconds on
my machine.

cc @jamesls, @kyleknap