GRADLE-3157 Test case to reproduce the issue
GRADLE-3157 Bumped ASM API version in all class visitors to ASM5
some cleanup on scala-lang support

- extract ScalaToolProvider interface
- fix classycle issue with having default zinc version definition in ScalaLanguagePlugin
- extract IncrementalTestJvmComponent out of TestJavaComponent
- add TestJointCompiledComponent to explicitly test joint scala/java compilation in scala-lang

+review REVIEW-5273
Upgraded to new version of sshd used by test fixtures.
Removed temporary test
Updated the dependencies of sshd-core.
Some changes to detangle some service and DSL objects when applying plugins:

- Added PluginAwareInternal to provide access to the PluginManager for a target object
- Use this in DefaultObjectConfigurationAction to apply plugins using a PluginManager, for `apply plugin: ...` DSL usages.
- Use this in DefaultPluginRequestApplicator to apply plugins using a PluginManager, for `plugins { ... }` DSL usage.
Removed unused import.
Mark story as complete.

+review REVIEW-5290
Unmanaged properties of managed objects can be targeted by rules.

+review REVIEW-5287
Add stories for managing mutatibility of managed elements.
Mark parallel task annotation story as complete.

+review REVIEW-5286
Spec cleanup for the new “configuration model”.

- Remove duplicated/outdated notes in “other” specs.
- Rationalise backlog to point form and remove stories with outdated implementation plans that served as specific instances of well understood problems
- Put some structure around backlog
Clean up spec.

Remove unimplemented plan, and mark implemented plan accordingly.
Remove outdated spec.
Move unit testing story to backlog.
Push some stories to the backlog.
Push some DSL stories out to the backlog.
Push some performance stories to the backlog.
Collapse the rest of the stories to the backlog and generally remove verbiage that is no longer useful.