WIP: Labeled storage backend for consensus docs and diffs
Here's a branch that adds a "labeled object" abstraction to storagedir, and then adds a higher-level abstraction (conscache) to handle reference counting, map-on-demand functionality, find-by-label, etc.