POC: [NX-496] Component metadata api

https://issues.sonatype.org/browse/NX-496
Preconditions.checkArgument() might be a bit nicer to use instead of if blocks and string concat?

    checkArgument(indexes.contains(index), "Not a '%s' index: %s", name, index))