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.
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.
The concurrentBuild field is defined in AbstractProject (at least for now) so that is where its help should live.
Introduced ParameterizedJobMixIn so that non-AbstractProject’s can use ParametersDefinitionProperty.
getParameterizedJobMixIn turned out to be unnecessary.
ParameterizedJobMixIn is stateless.
Renaming the newly introduced method avoids the need for an ambiguous overload.
Restore getJobActions(AbstractProject) for compatibility.
The new mixin should also handle Trigger’s.
(Left the upstream pseudo-trigger out of this, as it is pretty hackish and might not generalize well—requires Publisher’s to make any sense.)
Merge branch 'master' into deconstructing-AbstractProject
Replaced job field with asJob().
Renamed type variables for consistency with the names used in Job/Run.