[FIXED JENKINS-21969] Performance issue with search box when doing case insensitive searching.
Merge branch 'master' into JENKINS-21969
Introduced LazyBuildMixIn.
Shuffled a line of Javadoc to its intended location.
Forgot to call LazyBuildMixIn.onLoad.
Introduced LazyLoadingJob marker interface.
1. ItemListenerImpl needs to know which items have a RunMap on which it can call updateBaseDir.
   Using reflection sort of worked for this purpose, but was messy.
2. onLoad needs to get the RunMap from a peer of the owning job.
   Reflectively calling _getRuns on the peer did not work since it may not yet have had a base dir set.
So we need a way of finding the actual mixin (or at least the RunMap) of a given job.
This is not pretty but seems preferable to injecting something into the type hierarchy between AbstractProject and Job.
No obvious reason why the specialized doDoDelete in AbstractProject could not be pulled up into AbstractItem.
Some Jelly fragments which make sense only for AbstractProject were for some reason defined in AbstractItem.
onLoad should not *recreate* LazyBuildMixIn after a reload.
Expose PrivateKeyProvider
JENKINS-21773: Removed one level of ../ in the Up link to fix matrix job Up links.
JENKINS-21773: Fixed sidepanel Up link for multiaxis jobs.
Making RunMap work properly for non-AbstractProject-based jobs using lazy loading.
JENKINS-22052 is not fixed by this for existing Job types like ExternalJob which still do not use lazy loading.
For binary compatibility must continue to override getPrevious/NextBuild in AbstractBuild.
Cannot initialize selfReference until getId() is correct.
[FIXED JENKINS-22080] NPE if trying to install a plugin from the update center and either the update source or the plugin contains a '.' in its name
Merge pull request #1150 from stephenc/master

[FIXED JENKINS-22080] NPE if trying to install a plugin from the update ...
[FIXED JENKINS-22080] Braindead logic in author of original fix... corrected by same author
Merge pull request #1151 from stephenc/master

[FIXED JENKINS-22080] Braindead logic in author of original fix... corre...
The concurrentBuild field is defined in AbstractProject (at least for now) so that is where its help should live.