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.
Nitpick: prefer test dependencies to appear at the end after all compile/provided dependencies