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.
I think we probably ought to ensure the ComponentID is part of the blob header - the path isn't quite enough to identify the owner of this blob in a recovery situation.