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. 
Do we need to expose these internal details in the API? Any reason why they can't be in the implementation class?