Adds the S3 storage

I have not tested this against the real S3 yet. So far, I've just been testing to mocks of the AWS SDK API as it's documented. It should be *close* to correct, and it will be a good testimonial to Amazon's docs if this actually works.