Add support for backend stores for config

This pull request adds support for backends other than a file on the local file system for storing user-generated config. There is a file-based backend (like the previous default) and an S3 backend; I guess adding a backend at some point for a database with CRDTs would be nice as well.