[FIXED JENKINS-18918] From plugins we must use target/ not target/classes/ to unpack Maven.
Also cleaning up variable names to be less misleading.

Note that new File("target") is really a bad idea since we cannot predict the CWD in effect when Maven is run.
(From the standard bin/mvn launcher, it seems that it will always be *some* Maven project at least.
This may not be true for Maven run embedded from various tools.)
But leaving that as is for now, since it is not clear how else we would find the project location.
(new File(env.description().getTestClass().getProtectionDomain().getCodeSource().getLocation().toURI()).getParentFile() might work but it is pretty hacky.)
(cherry picked from commit 2152cf478e26e01b90be8c818cfe3bb628b32263)
[FIXED JENKINS-18660] Added dedicated denormalized counter function

(cherry picked from commit 5981ac4ed7b4b5c462a71ae186a133f7fe44e1a1)

Conflicts:
	core/src/main/java/hudson/model/Label.java
Restrict new public API member(s) from 5981ac4ed7b4b5c462a71ae186a133f7fe44e1a1 cherry-picked as 9bee3ba75d80115456732e9791ba9caab71c9042