Doc : improved Copy task VS copy() method chapter
GRADLE-2171: Added fail and warn strategies to DuplicatesStrategy.

- WARN will log a warning message for each duplicate file that is encountered.
- FAIL will throw a DuplicateFileCopyingException.
- Updated documentation and unit tests to reflect these new behaviors.
Simple wording changes to files doc
Some tweaks to unit test.
Added some coverage for requesting build script details when the target version does not provide them.
Moved MutableURLClassLoader to baseServices project.
Extracted an abstract TransformingClassLoader out of the Groovy compile ClassLoader.
Moved IDE tooling models to live in the ide project.
Changed AbstractMultiTestRunner so that it does not call before() or after() when the test class is ignored.
Reworked AbstractMultiTestRunner so that it does not attempt to load the target class for an execution if all the tests for that execution are disabled.
Use ModuleVersionMetaData internally in ExternalResourceResolver

- MetaDataParser now returns a ModuleVersionMetaData instead of ModuleDescriptor
- ModuleVersionMetaData is now available for version matching
Further refactoring of ExternalResourceResolver for simplification
Update wrapper jar.
Handle the EAR plugin being added later than the base line version for binary compatibility.
added API for module metadata handling
added implementation for ModuleHandler service
inject metadata processor into repositories
extended ModuleVersionMetaData interface, introduced MutableModuleVersionMetaData
introduced VersionMatcher interface based in Ivy's VersionMatcher, added Ivy adapter
changed ExternalResourceResolver to:

 - use our VersionMatcher interface
 - use our ModuleVersionMetaData instead of Ivy's ModuleDescriptor (in same locations)
 - apply module metadata rules