Add fake S3 storage for dev/testing/etc.

This adds a fake S3 storage class that provides the very small subset of the Knox S3 API that CSOL-site uses. It stores all files locally on the filesystem.

This can be useful for development, testing, and deployment on tools like [fleeting](https://github.com/toolness/fleeting). It can also be useful as a way to document what subset of the S3 API we're using, so that it's easy to migrate away from AWS if we need to, or simply if we want to provide alternate back-ends in the future.

Tasks:

- [x] Add fake S3 implementation with tests.
- [x] Make `s3.js` use the fake S3 implementation if an environment variable is defined.
- [x] Document the environment variable in the README.