Removing maven-junit-plugin as it does not support JUnit 4 and Surefire has parallel testing features.
Merge branch 'master' into no-maven-junit-plugin

Conflicts:
	pom.xml
	test/pom.xml
convenient method to retrieve upstream Run
Make sure that change log annotation cannot result into exception

Although javadoc for ChangeLogAnnotator#annotate() states that any exception should be caught in this method and it should return normally, some implementation don't respect it or e.g. in case of missing some dependecy (resulting into NoClassDefFoundError) plugin itself can hardly ensure that no exption is thrown. We should ensure it on the core level.
[FIXED JENKINS-5408] Quoting Issue with JDK Installer with Windows Slave
[JENKINS-16215] Avoiding unnecessary downloads in FilePath.installIfNecessaryFrom.

The updated version uses the locally cached timestamp, '.timestamp', to set the
'If-Modified-Since' header. 304 Not Modified responses are dealt with by
aborting the installation.
Merge branch 'master' into no-maven-junit-plugin

Conflicts:
	pom.xml
	test/pom.xml
Some missing sysprops.
Merge branch 'master' into no-maven-junit-plugin

Conflicts:
	test/pom.xml
Do not leave interactiveBreak in committed tests.
Baseline usage of Surefire 2.13.
Enabling reusable forked multithreading (4 threads seems good).
Seems to be roughly a few percent faster than maven-junit-plugin baseline.
Add regression test for SurefireArchiver test mojo detection [JENKINS-8334]
[FIXED JENKINS-8334] use heuristics to detect test-mojos instead of relying on hard-coded plugin names
Additional testcase
Host name must not be null (cloud impl should have handled such errors earlier).
Record start time of mojo execution in MojoInfo and use that information
to determine which test result files belong to the mojo execution
[SECURITY-49] Deprecating Jenkins.getSecretKey()

We are replacing it by the ConfidentialStore class and the
ConfidentialKey class, which provides purpose-specific confidential
information that are separated from each other.

In this way, not all eggs are in one basket, and in case of a
compromise, the impact will contained.

Also replaced several insecure use of digest(secret|messsage) or
digest(message|secret) by HMAC.
[SECURITY-49] added a tool to re-key secrets

As an AdministrativeMonitor, it shows up in the manage Jenkins UI, and
allows the administrator to run a re-keying operation.
[SECURITY-49] Backing off from @Extension-based discovery.

This is because we discovered some plugins that use Secret early on in
the initialization.