REVIEW-4551: ResourcePattern.toModuleVersionPath now takes a ModuleComponentIdentifier as input
REVIEW-4551: Push ModuleComponentIdentifier into the module meta-data cache
REVIEW-4551: Renamed ModuleVersionRepository.getDependency() -> getComponentMetaData()
REVIEW-4408: Start to move the Artifact Query Result API closer to the ResolutionResult API

- Introduced generic result types for component-with-artifacts and artifact
    - Separate result types for resolved and unresolved artifacts
- Moved the general result classes to live with the ResolutionResult classes
- The JvmLibrary component implementations are constructed from the general types
    - Moved these into a separate 'jvm' subpackage. This is a temporary home.