Added aws-sdk gem (to access Amazon AWS services).
Added Amazon S3 client class. This class enables us to save and delete files to/from S3.

This way we can pass OPML files upladed by the user from the app server to the background server.
Capistrano links the file with the (secret) AWS key to the config/initializers folder of the deployment.
Added FileClient class to save/delete files from the filesystem.

Changed the environment files so that either the S3Client or the FileClient class is assigned to the uploads_manager configuration variable. The production and Staging environments use the S3Client class, the rest use the FileClient class. The methods invoked are the same in both cases, so that for most of the code it is transparent whether uploaded files are stored in S3 or in local filesystem.
Added "read" method to S3Client and FileClient classes. This wa, ImportSubscriptionsJob reads the OPML file using this method, instead of trying to read dire
ctly from the filesystem. This means that in production and staging environments ImportSubscriptionsJob reads the OPML file from Amazon S3, which is the expe
cted behavior.

Also changed unit tests for ImportSubscriptionsJob and SubscriptionsImporter classes, to check that the right Feedbunch::Application.config.uploads_manager m
ethods are called, instead of assuming filesystem access.

Also added a skeleton aws_key.rb file (without the actual AWS keys) to github. This file is necessary during development and testing (including testing in the CI environment) because it requires the aws-sdk gem and performs some initialization.
Correct an Rdoc comment to explain the way we actually handle caching headers in FeedClient.