Introduced fixture for testing JvmLibrary artifact resolution
Better test coverage for source/javadoc artifact resolution

- Test that artifacts are updated with --refresh-dependencies
- Test that recovers from broken artifact resolution
Test that artifacts from query API are not cached for local repo
Added back support for maven-scheme source/javadoc in ivy and flatdir repositories
More test coverage for source/javadoc jars in generated IDE files
GRADLE-3052 - fix IllegalStateException when launching embedded build while holding the cache file lock.

This fix is likely not the correct fix, but is “safe” as the method call being removed is a no-op in the current implementation.
Some release-branch-only fixes to incremental java compilation so that the feature is useful in 1.12. Those changes will not be merged in this form to master because master is already heavily changed. This change should not have any impact on the branch because majority of changes are in new classes and their behavior is only triggered when incremental java compilation is on. There's also a minimal change to Compile task but it does not have any impact.
Deprecated awkward setter / getter for the compiler.
Merge branch 'release'

Conflicts:
- fairly simple: subprojects/ide/src/integTest/groovy/org/gradle/plugins/ide/AbstractSourcesAndJavadocJarsIntegrationTest.groovy
- the remaining conflicts are my changes only:
	subprojects/ide/src/integTest/groovy/org/gradle/plugins/ide/AbstractSourcesAndJavadocJarsIntegrationTest.groovy
	subprojects/plugins/src/integTest/groovy/org/gradle/java/compile/IncrementalJavaCompilationIntegrationTest.groovy
	subprojects/plugins/src/main/groovy/org/gradle/api/internal/tasks/compile/incremental/SelectiveCompilation.java
	subprojects/plugins/src/main/groovy/org/gradle/api/internal/tasks/compile/incremental/SelectiveJavaCompiler.java
	subprojects/plugins/src/main/groovy/org/gradle/api/internal/tasks/compile/incremental/deps/ClassDependencyInfo.java
	subprojects/plugins/src/main/groovy/org/gradle/api/tasks/compile/Compile.java
	subprojects/plugins/src/test/groovy/org/gradle/api/internal/tasks/compile/incremental/graph/ClassDependencyInfoExtractorTest.groovy