interfaces modeling new source sets
initial interfaces for modeling binaries
initial implementations for new source set model
initial implementation for new binaries model
initial implementation of new language plugins
retrofitted java-base plugin to use new language plugins, source set models, and binary models

- aims to keep backwards compatibility
Started to verify resolution of published modules in IvyPublish integ tests
- Fixed bug in module published from empty publication
Test resolution in a bunch more ivy publish integ tests
Test the resolution of Maven projects published with the maven-publish plugin
- Added resolve verification to many integ tests for Maven publishing
Removed the obfuscation of snapshot versions in MavenFileModule.assertArtifactsPublished()
- Actual artifact names must be explicitly asserted (can use `module.publishedArtifactVersion` to get resolved snapshot version).
Further attempt to fix cross-version test on windows
- Can't believe I didn't spot this earlier...
Fix MavenFileModule.getPublishArtifactVersion() so it works for non-published modules as well
Updated test to verify exact snapshot versions
Don't load maven-settings when publishing using the maven-publish plugin
- Fixed bug where mirror setting broke maven publishing (only for maven-publish plugin)
Updated to a new version of the native integration.
Use a native-platform backed ProcessEnvironment implementation when native-platform is available, instead of the jna backed implementations.
Moved tweaking of process handles closer to where it's needed.
Complain if we're on windows and we can't load the native-platform stuff.
Take a copy of the environment before changing it.
initial tests for new language plugins and source sets