WIP: [NX-448] Component Storage

https://issues.sonatype.org/browse/NX-448

Goal for this iteration is an interface + initial impl that uses a BlobStore + RecordStore. 
Any objection to making this an interface? That would let us decouple the storage layer from the normalized coordinate system handing out these ids.