[MNG-5714] Add Merger for Maven Toolchain
MNG-5727 fixed cryptic exception when managed depenency has no <version>

Signed-off-by: Igor Fedorenko <ifedorenko@apache.org>
introduced ProjectArtifactFactory component

this hides use of deprecated/legacy ArtifactFactory and allows custom
project dependency artifact creation logic.

Signed-off-by: Igor Fedorenko <ifedorenko@apache.org>
decoupled project #file and #basedir to allow pom.xml processing

Signed-off-by: Igor Fedorenko <ifedorenko@apache.org>
extracted ArtifactDescriptorReaderDelegate

Signed-off-by: Igor Fedorenko <ifedorenko@apache.org>
introduced RepositorySessionDecorator

Signed-off-by: Igor Fedorenko <ifedorenko@apache.org>
allow custom Model dependency version validation rules

Signed-off-by: Igor Fedorenko <ifedorenko@apache.org>