GRADLE-800 - Some infrastructure for forking worker processes and messaging between the build and worker processes. Builds on remote listener and exec handle code. - Extracted JavaExecHandleBuilder from various places.
- Split apart runtime and plugin classpaths. - Added DependencyHandler.gradleApi() to allow a dependency on the Gradle API to be declared. - Replaced static BootstrapUtil with ClassPathRegistry and ClassLoaderFactory. - Use groovy-all.jar to get rid of potential conflicts on asm, commons-cli and antlr.