S3 support

- Created an S3 cache class
- Created specs for it and added RSpec base files
- Other minor refactorings