REVIEW: [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. 
`id.getId()` looks odd in the code, suggest `id.asUniqueString()` or something similar