Don't use a temporary file for checksum files generated during publishing. Just publish directly from the checksum in memory.
Added some more items to a story.
Garbage collected a completed story.
Removed unnecessary child classloader scope.
Added SettingsInternal.rootClassLoaderScope to make explicit which scope to use as the parent for build scripts.
Javadocs.
Execute init scripts against a child of the base classloader scope rather than a sibling.
Use root class loader scope as the base scope, rather than assuming parent of settings scope is the root.
Additional settings scripts applied from the main settings script should use the root scope as their parent scope, rather than the scope of the main settings script.
Use a child scope to create the ClassLoader to locate a declarative plugin implementation.
Removed unused ClassLoaderScope.createSibling().
Detect when model {} has been called with an untransformed closure and error with an appropriate message.

This means it was called in some kind of nested scope, or from outside of a build script.

+review REVIEW-5177
Merged ClassLoaderScope.loader() into export() and local() so that the only visible Classloaders are the local or export ClassLoaders.
Garbage collected some finished stories.
Reworked the ProjectSpec implementations to move the handling of selecting a default project completely out of SettingsHandler.
Updated int test for changes to error messages.
Added BuildLayoutParameters.currentDir and searchDir properties, to detangle projectDir from these usages.
Changed DefaultLocalComponentMetaData so that dependency instances added using addDependency() are preserved and returned from toResolveMetaData().getDependencies().
Replaced EnhancedDependencyDescriptor with some subtypes of DependencyMetaData.
Fix for broken unit test