REVIEW-2817: choose better name for IvyMetadataConsistencyIntegrationTest and its test method
REVIEW-2836: remove `candidate` parameter from method ChainVersionMatcher#needModuleMetadata
implement service that collects the "logical" publications for each project
register a "logical" publication whenever an Ivy repository is configured for the `uploadArchives` task
register a "logical" publication whenever a Maven repository is configured for the `uploadArchives` task
register a "logical" publication whenever a publication is added to `publishing.publications`
add publication information to tooling API model
enhanced GradleProjectBuilder to add publication information

- adapted other builders to have dependent builders injected