POC: [NX-496] Component metadata api

https://issues.sonatype.org/browse/NX-496
Interesting. Related would be the ability to "discover" all the types of metadata that actually have information about a given component (e.g. for deleting all traces of a component from NX, even extensible metadata).

This is definitely worth thinking about some more...a couple thoughts off the bat: 

1) keeping with this api design (where we have a parameterized "store" per metadatatype), this capability would probably live in a logically separate "store" or just be exposed directly on the ComponentMetadataService.

2) I wonder what the parameterized types of that Map might be. Something like Map<MetadataType, List<MetadataHandle<?>>  Ideally it'd be possible for the caller to not have to cast things, but I'm not sure I can see a way out of that...any thoughts?