[NX-715] Query over components and assets

https://issues.sonatype.org/browse/NX-715
Not sure how @Named could help here, but  I'm game if it could. Note that the map is keyed by Class[? extends Component] -- not String. It's keyed by the Class so that runtime type parameterization can work right. Specifically, it allows the query service to return a List<SomeComponentSubclass> based on what you pass in for the componentClass arg. Also, the query service should have to know what specific component subclasses exist beforehand. It can handle any subclass as long as it can find a corresponding ComponentEntityAdapter.