[NX-715] Query over components and assets

https://issues.sonatype.org/browse/NX-715

This PR is primarily about the query service in nexus-component-services. For the purpose of this PR, please ignore the state of nexus-component-assetstore and nexus-component-recordstore. They need to be cleaned up post-merge.
Originally I was thinking the delete method could take an Asset instead of a component id and path, but actually I have mixed thoughts on that. The current approach is to have AssetStore return Assets for everything, but not require they be passed in...which means callers don't have to construct Assets themselves and AssetStore is the sole constructor of Asset instances. But I'm curious about your thoughts on this in light of your recent component source work..