Create all mutable Ivy module resolve metadata through factory This will simplify the injection of services through the factory, when we will need the immutable attributes factory to be pushed to resolve metadata.
Instantiate mutable Maven metadata through dependency injecting instantiator This commit prepares the ability to inject services into mutable Maven metadata. This will be required to inject the immutable attributes factory, as well as the object instantiator and possibly other services to the immutable Maven resolve metadata. This commit reduces the number of constructors of `DefaultMavenModuleResolveMetadata`, to make it easier to maintain.
Some tests still create mutable module resolve metadata directly. Ideally, they should also use the factory.