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().