REVIEW-4367: Spec updates
Support an ivy repository declared with 'sftp' as the URL scheme, using password credentials
Move task selector processing to toolingApi provider.

1st step that processes passed TaskSelectors in provider code.
This still transfers a list of tasks there and back.
Move task selector processing to toolingApi provider.

Task selector is defined as task name, projectDir, projectPath now and this is
accessible from InternalLaunchable.
REVIEW-4370: Updates to ivy extra-attributes story
REVIEW-4411: Turns out we _do_ support maven conventions for source/javadoc in ivy repositories

- At least we _did_ in 1.11, and we need to address our current regression.
fixed test bug (REVIEW-4405)
publish sources and javadoc jars in a manner so that they would not be discoverable via the maven scheme (REVIEW-4405)
publish sources and javadoc jars in a manner so that they would not be discoverable via the maven scheme (REVIEW-4415)
added tests to ensure that generated eclipse .classpath file has correct sources jar and javadoc jar entry when resolving from maven, ivy, or flatdir repo

- minor enhancements to EclipseClasspathFixture and AbstractIdeIntegrationSpec
- share test code between IdeaSourcesAndJavadocJarsIT and EclipseSourcesAndJavadocJarsIT
Release notes for Tooling API and related.
GRADLE-2983 Fixed IndexOutOfBoundsException error when finalizers are used.

Not sure if this is they way we want to fix it. Please review.
Fix failing test.
Added in-memory caching for module artifact set
Now that we cache module artifact sets, can fail when offline
Remove a few stale/obvious TODOs
REVIEW-4447: Don't mention changes to stuff that we don't consider 'public'
REVIEW-4441: Remove release notes accidentally merged into master
Optimize IdeaDependenciesProvider.

Evaluate only configurations that contain dependencies exported to IDEA.
REVIEW-4421: Don't require ModuleVersionMetaData for resolving artifacts

- This means that we don't need to hang onto all of the Module Descriptor instances after resolve
- Added ComponentIdentifier to ModuleVersionArtifactIdentifier
- Replaced ModuleVersionMetaData parameter on ArtifactResolver.resolveArtifact() 
  with a ModuleSource parameter
- Tidied up implementation of RepositoryChainArtifactResolver somewhat