Explode WAR fails when ./target does not yet exist (e.g., run from IDEA).

Create parent directory before trying to lock dir using files.

java.lang.Exception: Failed to initialize exploded war
at org.jvnet.hudson.test.WarExploder.getExplodedDir(WarExploder.java:49)
at org.jvnet.hudson.test.JenkinsRule.createWebServer(JenkinsRule.java:582)
at org.jvnet.hudson.test.JenkinsRule.newHudson(JenkinsRule.java:538)
at org.jvnet.hudson.test.JenkinsRule.before(JenkinsRule.java:332)
at org.jvnet.hudson.test.JenkinsRule$2.evaluate(JenkinsRule.java:482)
at org.junit.rules.ExternalResource$1.evaluate(ExternalResource.java:48)
at org.junit.rules.RunRules.evaluate(RunRules.java:20)
at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:271)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:70)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50)
at org.junit.runners.ParentRunner$3.run(ParentRunner.java:238)
at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:63)
at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:236)
at org.junit.runners.ParentRunner.access$000(ParentRunner.java:53)
at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:229)
at org.junit.runners.ParentRunner.run(ParentRunner.java:309)
at org.junit.runner.JUnitCore.run(JUnitCore.java:160)
at com.intellij.junit4.JUnit4IdeaTestRunner.startRunnerWithArgs(JUnit4IdeaTestRunner.java:74)
at com.intellij.rt.execution.junit.JUnitStarter.prepareStreamsAndStart(JUnitStarter.java:211)
at com.intellij.rt.execution.junit.JUnitStarter.main(JUnitStarter.java:67)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at com.intellij.rt.execution.application.AppMain.main(AppMain.java:134)
Caused by: java.io.FileNotFoundException: /Users/integer/Documents/idea/jenkins-ws-git-plugin/./target/jenkins-for-test.exploding (No such file or directory)
at java.io.FileOutputStream.open(Native Method)
at java.io.FileOutputStream.(FileOutputStream.java:212)
at java.io.FileOutputStream.(FileOutputStream.java:104)
at org.jvnet.hudson.test.WarExploder.explode(WarExploder.java:99)
at org.jvnet.hudson.test.WarExploder.(WarExploder.java:58)
... 24 more
the trunk is toward 1.592-SNAPSHOT
Provide a future path to refactoring the Queue locking strategy

- Also tidy up some holes in locking strategy that can cause builds to be scheduled on
  executors that are about to be interrupted or nodes in the process of being removed
Allow programmatic QueueItemAuthenticators that are not user configurable
Damn you Java 7 for not catching
Actually don't need the lock here as c.kill() now does the right thing
Allow Projects to take the Queue.Item's actions into consideration when determining their default authentication
Merge pull request #1464 from KostyaSha/fix_warexploder

Explode WAR fails when ./target does not yet exist (e.g., run from IDEA)
[FIXED JENKINS-25655] Incorrect caching from entrySet sometimes caused incorrect results.
Caused a failure in hudson.plugins.promoted_builds.conditions.ManualConditionTest.testManualPromotionProcessViaWebClient when run against 1.580.1.
Moving message key to external-monitor-job-plugin.
Run.getDurationString should compare against startTime, not timestamp.
pt_BR translation
Report the name of the channel for diagnosis.

Reference: ZD-23093
Improving diagnostics for NoClassDefFoundError: could not initialize jenkins.model.Jenkins

Reference: http://bugs.java.com/bugdatabase/view_bug.do?bug_id=8051847
Reference: ZD-23093
Added a hook to perform additional diagnostic activities before killing the channel.

ssh-slaves plugin can leverage this to try to obtain the state of the slave JVM via SSH.

Reference: ZD-23093
Javadoc notes warning that the action should be hidden if impermissible.
[JENKINS-25691] Might have prevented the need for: https://github.com/jenkinsci/maven-plugin/pull/33
[FIXED JENKINS-25642] Fix link to user list.
[FIXED JENKINS-25759] Avoid consuming too much memory while running validateAntFileMask.
Not fully solved, since the scannedDirs field can still grow to be large, but at least clearing files/dirsNotIncluded.
Also imposing a 5s timeout on the scan regardless of file count, and defining a user-customizable bound.
gmaven-plugin 1.5-jenkins-2
pt_BR translation fix - thanks to @kinow