Improve error message when build fails because of missing metadata
Gradle 6.0 removed the "artifact" metadata source by default.
This means that if a module is published _only_ with an artifact,
previous version of Gradle would find it, but 6.0 would fail with
a module missing exception.
The problem is that it's hard to realize that the issue comes
from the change of this default artifact sources.
This commit tries to improve the situation by recognizing that
a failure is related to not finding metadata, and in this case
would suggest that if the metadata is missing, it is still
possible that the jar is present.
The drawback of this approach is that we're unsure: if, for
some reason, the module is _really_ absent, then we gave a
wrong advice. This means, in particular, in case of wrong
Align implementations of artifact identifier display names
DefaultModuleComponentArtifactIdentifier now behaves similar as
ComponentFileArtifactIdentifier (showing the full actual file name).
This means that the artifact name used during reporting now
contains the version at the usual position in the file name.
This way it shows the actual file name for artifacts originating
from pom-only maven repositories (except snapshots, which show the
SNAPSHOT placeholder) and ivy repositories with default pattern.
The motivation for this alignment is to get the same representation for
the same file, independent of whether it was sourced from traditional
or Gradle module metadata.