Added PlexusModuleContributor extension point.

This came up with a conversation with JFrog folks who neede to insert a
custom Plexus component to tweak the behaviour.

This scheme allows the caller to insert additional jar files into the
Maven process.
(cherry picked from commit ff91381bc5cec4bf55815b20e092f97d6183b867)

Conflicts:
	maven-plugin/pom.xml
	test/src/test/java/hudson/tasks/MavenTest.java
removing what appears to be a left-over from the previous experiment.
(cherry picked from commit 41a9a68a5e5d22d66a7c16de4d494e96eaa19696)
Based on further conversation with the Artifactory plugin developers, revisiting this extension point.

This is a breaking change, but this extension point was added very recently, and it's based on the input from Artifactory plugin, so there's not much point in keeping one that doesn't serve the intended use case.
(cherry picked from commit 495d97dd5f8ee1066bc3c9b1f87a4688a8b12c71)

Conflicts:
	changelog.html
	maven-plugin/src/main/java/hudson/maven/AbstractMavenProcessFactory.java
Unused imports.(cherry picked from commit ecf3d2bdc7c1bc2beb00f1a36d1fb9b70ed778f5)
[JENKINS-15935] Can't build using maven 3.1.0 latest release candidate

Merge branch 'maven-3.1.0' for maven 3.1.0 support in Maven Integration Plugin
(cherry picked from commit 941e83fae1f12cb442d2b4b3c434e0c2e7e9611e)

Conflicts:
	.gitignore
	maven-plugin/src/main/java/hudson/maven/MavenUtil.java
doc improvements and shortening variable names in the hope of making it bit more readable
(cherry picked from commit ad60e8e867689220d6b72ac67fabaa655812c04c)

Conflicts:
	maven-plugin/src/main/java/hudson/maven/MavenUtil.java
add global maven config to define default settings providers
(cherry picked from commit b8adcb43dd73f8bcc3ff00558e0f7e587929cec6)
Fix failing compilation
Revert "[JENKINS-15935] Noting in stable branch (1.509.x) that Maven 3.1.0 is unsupported."

This reverts commit 76f5603e3474acd2b744669ef7d9990f977defe2.
[FIXED JENKINS-15935] Merge branch 'stable_mvn' of https://github.com/vjuranek/jenkins into stable
[FIXED JENKINS-14351] jna-posix → jnr-posix upgrade (opt in).
(cherry picked from commit 2a1d1631bd4d3e6d37d82295089d70e229ea0548)

Conflicts:
	changelog.html
[FIXED JENKINS-19192] LoginCommand failed on Windows after introduction of JNR.
Root cause of class loading error (on jnr.ffi.util.ref.internal.Finalizer$ShutDown) still unclear,
but easy fix is to simplify ClientAuthenticationCache.save to use FilePath.chmod,
which at least for now relies on hudson.util.jna.GNUCLibrary rather than JNR.

(cherry picked from commit 707629b03f96c9d210e9e0b89ea3c62b2ed37bb4)

Conflicts:
	changelog.html
JUnit 4.
(cherry picked from commit 93b82be199ec7c0790405531be539b014bc2d479)
[FIXED JENKINS-18846] Update symlinks for Maven module builds.

(cherry picked from commit a92e9da978262c6a7e4d74d3b2750319cbc748fb)

Conflicts:
	changelog.html
	test/src/test/java/hudson/maven/MavenMultiModuleTest.java
[FIXED JENKINS-10524][FIXED JENKINS-19168] Stapler 1.218.

(cherry picked from commit d814a6ff7f2e99c9ada722d17c33ca87b0bbea65)

Conflicts:
	changelog.html
	core/pom.xml
[FIXED JENKINS-19168] Does not make much sense to put @DataBoundConstructor on an abstract class.
(Stapler 1.218 rejects it, I think correctly.)
(cherry picked from commit 44b1a4a02b4f3d87143aace5a4d87827180a7f12)
[FIXED JENKINS-19168] @DataBoundConstructor does not belong on constructos of abstract classes.

(cherry picked from commit 2c428d809609af6d2de2c645a24293c950358ab6)