Replaced ClasspathSource with a more general ClassLoaderVisitor to allow a ClassLoader hierarchy to be inspected.
Allow the tooling API build action results to reference tooling models

- Fixed the BuildController implementation so that it runs the action after the build has been configured but before it has been cleaned up.
- Fixed the provider's serialization mechanism to handle object graphs that span multiple, isolated ClassLoaders.
- The serialization stuff is somewhat spikey, will clean up.
Changed the build action int test to use build actions and models implemented in Java instead of Groovy. Also some coverage for actions that fetch and return multiple tooling models in a single operation.
Javadocs.
Added some test cases to the tooling api spec.
Added an initial spec for improving how plugins are published and consumed
moved DefaultComponentMetadataHandler from core to core-impl
make sure ComponentMetadataDetails objects get enhanced (REVIEW-2797)
added assertResolved() calls for setters (REVIEW-2795)
moved dsl docs to base class (REVIEW-2788)
renamed local variable
removed duplicate method call
added integration test
moved test into base class (REVIEW-2746)
renamed HelperUtil to TestUtil (REVIEW-1626)
Merge pull request #180 from darxriggs/master

cleanup
Merge pull request #179 from surfing/testFailingOnGermanSystem

Test fails on German systems because of different decimal separator
Mentioned a couple of contributions.
Fixed serialization on Java 5

- use the public method ObjectStreamClass.lookup() when running on Java 6 and later
- use reflection to get at the method when running on Java 5.
Don't compile java 6 class when not building with java 6 or later.