Removed deprecated ResolvedArtifact.getResolvedDependency()
Added separate subtypes for ivy and maven ModuleVersionMetaData

- Use subtypes instead of 'ivyMetaData' and 'mavenMetaData' properties
- ModuleDescriptorAdapter is now abstract
Ensure that Client module metadata can be used with both ivy and maven repositories
Cleanup module version metadata

- Ivy/Maven subtypes no longer extend MutableModuleVersionMetaData
- A few renames
Use a specific TYPE entry to cache module version meta data
Renamed spec.
Reworked spec to introduce an initial java component plugin and basic model, and then flesh out the dependency DSL and API from there.
Fleshed out a few stories.
Fleshed out a few more stories.
Switched sftp repo implementation to use jsch instead of sshd client. Let's see if it's more reliable on the CI machines.
Some more spec updates.
Don't run these tests on java 5, as the ssh server fixture requires java 6 and later.
Fleshed out spec some more.
Pushed out the incremental java compilation services out of JavaCompile.
Incremental compilation - rename job.
Incremental compilation, added some TODOs.
Moved one of the core-specific integ tests from integ-test module into core.
Moved one more core-specific integ tests from integ-test module into core.
Rename job.
 GRADLE-3072 Improved the error reporting when one of the task input properties is not serializable.