S3 Support for files

Added support for saving onto S3 instead of disk. Had to add an abstraction layer between the two file stores, nothing special. I thought it'll be a good addition.

This is primarily because we're thinking about running Batsd on heroku / production.