Replaced `ExternalResourceRepository.getResourceMetaData()` with `ExternalResource.getMetaData()`. Also changed the file backed implementation of `ExternalResource` to use `FileSystem.stat()` to calculate the file meta-data, rather than using the `File` API.
Detangle ivy module descriptor parser This commit removes the Ivy module descriptor parser as a service, because it unfortunately introduced a lot of tangling between projects, making it necessary to introduce `project(':ivy')` as a dependency to almost all projects.
This commit removes the parser as a service and creates it on demand. It should not have a big impact on performance since there should be only one instance in global scope, through `IvyResolver`.