Minor fix in IdeaDependenciesProvider per review.
Rewrite org.gradle.plugins.ide.idea.model.internal package to Java.

One visible change is correction of value type in IdeaModule.singleEntryLibraries map.
Changed ArtifactResolver.resolveArtifact() to accept a ComponentArtifactMetaData instead of a ModuleVersionArtifactMetaData.
Changed ArtifactSetResolveResult to work with ComponentArtifactMetaData instead of ModuleVersionArtifactMetaData.
Changed ConfigurationMetaData.getArtifacts() to use ComponentArtifactMetaData rather than ModuleVersionArtifactMetaData.
Don't need to use an Ivy Artifact here.
Local artifacts don't need to implement ModuleVersionArtifactMetaData any more.
Removed ModuleVersionArtifactPublishMetaData.getArtifact()
Fix Upload task for publishing artifacts with classifier to maven repo.
Changed ArtifactResolutionQuery.forComponents() so that it accepts Iterable or varargs of component ids.
Javadocs.
Added some unit test coverage for parsing extra attributes and extra info from an ivy.xml.
Updated some stories for 2.0.
Merged release branch into master.