Use `MavenVersionLister` in metadata source This commit starts to move the logic for version listing into the `MetadataSource` implementations. With this change, the responsibility for loading maven-metadata.xml is with the `DefaultMavenPomMetadataSource`.
Subsequent commits will merge version listing for ivy and artifact metadata sources, simplifying `ExternalResourceResolver`.
Clean up `MetadataSource` implementations - Remove public APIs that are not required. - Inlined unnecessary subtype - Moved new `MetadataSource` and related types into a subpackage - Simplified `MetadataArtifactProvider` to only provide `IvyArtifactName` for metadata artifact.