POC: [NX-496] Component metadata api

https://issues.sonatype.org/browse/NX-496
Oops, missed this comment before. Yes, these types need to be registered before CRUD operations can be performed on them. The core types 'identity' and 'content' will be registered automatically by the service impl. Other types should be registered by the NX plugin/bundle that defines them...early in their lifecycle. Registration gives us a chance to validate the type definition a bit, and provides a way to check whether the corresponding schema has been defined/persisted in the underlying impl, and create it if not.