Have one real implementation of cancellation token in core.

The rest is adapting between core implementation, internal cross-version
interface, and toolingApi interface.

+review REVIEW-5088
- remove internal componentSpecInternal from DefaultLibrarySpec for now
- rename LanguageOutputType to TransformationFileType.

+review REVIEW-5076
update release notes / open spec with changed sources behavour

- use sources in flavors sample build
+review REVIEW-5076
move ObjectFile from org/gradle/runtime to org/gradle/nativebinaries

+review REVIEW-5076
moved checkModel task and its assertions out of the sample into the according testcase

+review REVIEW-5076
remove debug println +review REVIEW-5076
Renamed IvyExtraInfoSpec.put() -> add()

+review REVIEW-5059
Do not hold lock while calling other code from cancel token.
Cancel callbacks can be removed now.

+review REVIEW-5088
Daemon cancels the build without the lock being held.

+review REVIEW-5088
introduce ForkScalaCompileInDaemonModeFixture for forking ScalaCompile tasks when running integration tests in Scala

- applied on most scala related integration tests. not touched tests explicitly testing different scala compile options (e.g. ant, zinc, etc.)

+review REVIEW-5106
Merge branch 'release'