introduce aggregate artifact resolve result
introduce ModuleVersionRepository#getCandidateArtifacts

- strategies for locating candidates are hardcoded for now (and different for ivy and maven repos)
introduce ArtifactResolver#resolve overload that resolves all artifacts for a given module and artifact type
reimplement DefaultArtifactResolutionQuery#resolve based on new ArtifactResolver#resolve method