Introduce a shared storage cache.

Also ensure that all storage directories for one branch use the same
cache. When committing the storage dir the cache of all child dirs is
flushed to disk.
Work on contacts / contact request.