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
Extracted Visual Studio and CDT code into ‘ide-native' subproject

- Visual studio test fixtures stay in ‘cpp’ for now
+review REVIEW-5128
Move language-specific classes out of ‘cpp’ into ‘language-native’

+review REVIEW-5128
Moved a bunch of integration tests out of ‘cpp’ into ‘language-native’
Moved resources to be with the correct sub projects
Fix implementation after converting Groovy->Java