[FIXED JENKINS-13378] Remove XML string writer from IOException2 when XPath error occurs.

Remove XML string writer from IOException2 message when XPath error
occurs in /api/xml request.

The XML string writer has the potential to be very large (many
megabytes or even gigabytes) and these exceptions will be logged to
the default jenkins logfile by winstone. This has the potential to
quickly use all available disk space if, for example, a jenkins poller
(i.e. a chrome extension) makes frequent calls to the API that cause
errors.
[JENKINS-13378] Add FINER logging of XML when XPath handling fails.
[JENKINS-13378] Update changelog.html with fix.
Defining the contract for aggregating environment variables.
And a way for plugins to contribute them by placing /buildEnvVar.jelly
Merge branch 'master' of github.com:jenkinsci/jenkins
Fixed grammatical error in build page message.
Merge pull request #484 from cquinn/master

Fixed grammatical error in build page message.
Thnaks!
Update Spanish translation
Fixed PermGen OutOfMemoryError during full clean build.

Plexus compiler 1.8.6 that maven-compiler-plugin 2.4 has a static field
to store a reference to the Javac class in tools.jar

In JDK that I use (6u26), Javac has a static field that stores what
appears to be a cache of jar files (ZipFileIndex.zipFileIndexCache).
And in addition, Maven instantiates a separate ClassRealm to host plugin
jar files when a project has any build extensions.

The combined result is that during a build, we end up having multiple
copies of URLClassLoader that loads tools.jar, and each ends up caching
jar files it was used. This puts a pressure to permgen (although I
couldn't pinpoint which portions of those caches use permgen), resulting
in OOME.

In Plexus compiler 1.9, Olivier added a new feature to control the
caching/reuse of Javac compiler. While this apparently was done
primarily for fixing concurrency issues in multi-threaded builds, it is
also a useful mechanism to prevent the retention of Javac classes.

So I pushed the SNAPSHOT version of maven-compiler-plugin as
2.5-jenkins-1 and tweaking POM to use it.
avoid using deprecated method
bit of simplification
Updated to the instance identity 1.2.
Implemented transport security to CLI connection.

It uses Diffie Hellman to come up with one-time session key, then have
the server sign this session key to allow the client to verify that
there's no man in the middle.
Generalized AgentProtocol into an extension point.
follow up fix to d2699b4859af4e43d49c79189429f2a5f3fe8ae4

Further reduce the scope of the lock to only cover jobNames access, which is mandatory. if ig.doCreateItem requires synchronization, that's a job of ig.doCreateItem implementation, not that of ListView.
Merge pull request #485 from manolo/master

Update Spanish
[JENKINS-9142] added probe.

Integrated a new version of Stapler that provides debug logging for the
problem. See the ticket for more details of how to enable this probe.
Revised version of Extension
Expanded to cover MatrixBuild, not just MatrixRun.

For example, a common use cases are:

- skip the parent checkout and only do the checkout in MatrixRun
- check out only once in MatrixBuild and then let all MatrixRuns build from the same directory

Accoringly,

- renamed classes to drop 'Run' since now they cover 'Build' as well.
- instead of using the boolean return value to indicate the fallback to
  default, using some backdoor to have the default implementation do
  this. I think this keeps the abstraction cleaner for the implementor
  of the extension point.