POC: [NX-496] Component metadata api

https://issues.sonatype.org/browse/NX-496
How will this work for components that use multiple metadata types? Is there one logical store that gets cast to MetadataStore<T> for each type T?