Some typos.
Added ScriptClassLoaderProvider.addParent() to allow parents for the script class loader to be declared prior to creation of the script class loaders.
Moved creation of ScriptClassLoader to DefaultScriptHandler and decoupled everything else from ScriptClassLoader.
Changed DefaultScriptHandler to attempt to create the fewest number of ClassLoaders given the script classpath and parent ClassLoaders.
A partial fix for performance regression when compiling scripts. Problem is still there when scripts use the new plugins { } block.

Solution is to defer creation of a project's script class loader until after the script's class path has been finalised, so that the simplest class loader graph can be created to meet the requirements declared in the script.