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. 
Yeah I think as-is, Component Services will at least need access to the definition of COMPONENT_RECORD and related fields. I wasn't sure about whether we could fully encapsulate the assets and blob ref record types here either. Maybe ultimately the definition of COMPONENT_RECORD and its fields belong in Component Services, and the others are hidden in ComponentStoreImpl.