Changed tooling API provider so that it can deserialize a result whose implementation is not visible to the action ClassLoader.
Added a little more coverage for tooling API actions.
Fix for case where tooling API is used in an ibm jvm to run a build using sun/oracle jvm.
Reworked API for PayloadSerializer so that client can defer the decision about how the remote ClassLoaders should look until after the whole object graph has been serialized.
Don't recreate the ClassLoader for a build action on every request.
Removed unused fields.
Fixed detection of the JDK home dir when running from the JRE dir for Java 5 on Windows.
Fixed in-process Java compilation when running from a JRE installation on Windows (eg when using the `java` executable on the system %PATH%).
Enabled back the CompositeDomainObjectSetTest.

It seems that it was disabled by overlook. Fixed one of the tests.
GRADLE-2873 Fixed issue with conf.extendsFrom and in the composite domain object set.

I'm not sure if the composite domain object set should behave they way I changed it. However, it makes sense from the standpoint of how we use it for the inherited dependencies and the inherited artifacts.
Mentioned the improved performance in the release notes.
Mentioned in the release notes (breaking changes section) that the order of artifacts / files is different now.
Lowered log level on some messages (info -> debug). Added a TODO.
Merge branch 'release'

Conflicts:
	subprojects/docs/src/docs/release/notes.md
Changed Serializer to use Encoder and Decoder types instead of OutputStream and InputStream.
Added method of encode/decode a long to Encoder and Decoder.
Fleshed out the Encoder and Decoder interfaces to add some primitives and some more test coverage.
Encode the selection reason using a byte rather than a short.
Use the convenience super class for unit testing the serializer implementations.
Added method to encode/decode a binary array (ie data + length)