put changeSet behind a WeakReference
singleton NullChangeLogParser to reduce memory footprint
faster lookup by node name for NodeList
support @XstreamConverter annotation
User.getBuilds() is crazy-expensive, since it iterates over all builds. Restrict it to the most recent builds.
use LRU map for certain strings
use immutable collection for AbstractBuild.culprits

Conflicts:

	core/src/main/java/hudson/model/AbstractBuild.java
reduce footprint on TestResultAction.testData
mkdirs() is expensive on Windows, so don't do it on every getRootDir()
we shouldn't try to agressively load changesets, since they are now lazily loaded

Conflicts:

	core/src/main/java/hudson/WebAppMain.java
Jenkins.getItems() is quite expensive with a lot of items in an access controled environment. Let's try to avoid access control checks for some well known AuthorizationStrategies
LRU cache on MailMessageIdAction.messageId
Fixed the UI problem with the sticky "Save" button.

If the sections unfold/fold etc and layout changes, the save button
needs to update its location
Left/right position needs to be adjusted

... because the positioning is fixed. Perhaps it's better to let the
CSS class name control if it's left-sticky or right-sticky.
Fixed several compiler warnings
should be PNG
Updated to Groovy 1.8.5
merged pull request #342
Noted pull request #342 merge.
should be static.