Adds storage concept with a RAMStorage used in testing and the local server

This should be reviewed after #9 (the code is based on that, but I set the base branch for this change to master. we'll see how that goes)

The registry is now pulled from a storage object (which is set in the configuration. You should set storage to "./ramstorage"). RAMStorage just holds the data in memory, as you'd expect. My next step is to build an S3Storage.

Note that with the S3Storage in place, the server won't be functional until the registry has been retrieved from S3.