add notes about configuring a components sourceSet

+review REVIEW-5076
Avoid early resolution of JDepend configuration in a similar manner to the CodeNarcPlugin. This permits "gradle tasks" to complete successfully.
Better error messages for invalid model paths.

+review REVIEW-5034
Expect BuildCancelledExcpetion only cancel tests.

+review REVIEW-5089
Propagate current cancellation token to GradleBuild execution.

+review REVIEW-5094
fix formatting / javadoc

+review REVIEW-5076
just support one outputtype for now in LanguageRegistration

+review REVIEW-5076
Intrododuce common fixture for unit testing common language plugin behaviour
minor formatting in .gradle file
use zinc when forking scala integTests using ForkScalaCompileInDaemonModeFixture.
GRADLE-3147: Expanded test cases. Avoid duplicating general assumptions for each test scenario.
Sad day integration test for invalid @ComponentType rule

+review REVIEW-5081
'Build logic selects the module that matches an external dependency' story

- Adding integration tests for select/reject cases

+review REVIEW-5126
'Build logic selects the module that matches an external dependency' story

- Adding sample

+review REVIEW-5126
Improved error message for invalid component model rule method

+review REVIEW-5081
Review items for 'Build script reports all versions tested for dynamic version' story

- Improvements to test validations
- Adding new factory to DefaultModuleComponentSelector
- Changing configuration of VersionSelectionRules to use Action<VersionSelectionRules> instead of closure
- Corrected @since version on ResolutionStrategy.getVersionSelection()
- Added @HasInternalProtocol to VersionSelectionRules

+review REVIEW-5100
sketch a generic solution to the 'share an arbitrary file via a repository dependency' problem
Converted some Groovy classes to Java

+review REVIEW-5128
Converted a bunch of task classes Groovy -> Java

+review REVIEW-5128
Renamed a bunch of native-language classes into org.gradle.language.*

+review REVIEW-5128