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.

NOTE: As per discussion with @mcculls and @mrprescott, the plan is to get this through review in it's current design, then re-work the module later to depend on the upcoming componentservices module (NX-706). Specifically, the RecordType definition for Component will be owned by the TBD module, and this will depend that module to look up Component records when needed.
fyi, latest commits rename this to nexus-component-assetstore and the package name is o.s.n.component.assetstore, and nexus-componentmetadata gets renamed to nexus-component-recordstore, as per chat this morning