Add caching adapter

In a bigger deployment of Gollum, we've seen very slow performance from parts of Gollum. This adds the ability to pass a cacher that handles this. In our deployment, we use Memcached to share this state across workers.

@fw42 @camilo can you guys take a look at this too?