Short the test name further to get it inside the windows path limit for c compilation
Native domain model cleanup

- Merged NativeTestSuite and ProjectComponentNativeTestSuite
- NativeTestSuiteBinary no longer extends NativeExecutableBinary
- Merged TestSuiteExecutableBinary into NativeTestSuiteBinary
- Renamed CUnitTestSuiteExecutableBinary -> CUnitTestSuiteBinary
Reworking of native/jvm component models

- Replaced BinaryInternal with ProjectBinaryInternal
- ClassDirectoryBinary is now a ProjectBinary
More reworking of native/jvm component models

- Moved ‘extends BuildableModelElement, Named’ from Binary to ProjectBinary
- ‘binaries’ is now a container of ProjectBinary instances
- Dependency resolution converts ProjectBinary to Binary instances
- PrebuiltLibrary has a set of NativeLibraryBinary
Further detangling of ProjectBinary (built) from Binary (used)
A bunch of work on the Jvm binary model

- Renamed JarBinary -> ProjectJarBinary
    - need a better naming scheme, but this is consistent
- Introduced ProjectJarBinaryInternal and ClassDirectoryBinaryInternal
- ProjectJvmBinary has classesDir and resourcesDir
- ProjectJarBinary has jarFile
Introduced a separate ProjectJvmLibrary for a library component built by Gradle
Renamed ClassDirectoryBinary -> ProjectClassDirectoryBinary
Use correct destination dir for resources tasks
Split ProjectNativeExecutableBinary from NativeExecutableBinary
Split Project library binaries from usable library binaries
Replaced uses of Shared/StaticLibraryBinary with Project*
Hoisted ProjectNativeComponentInternal.getProjectPath() up to ProjectComponent
Split NativeLibrary and NativeExecutable into ‘buildable’ and ‘usable’ types

- ‘ProjectNativeLibrary’ and ‘ProjectNativeExecutable’ are part of a project and built by Gradle to produce:
- ‘NativeLibrary’ and ‘NativeExecutable’ components
- ProjectComponent is buildable, Component is usable.

TODO
    - SoftwareComponent still needs to be merged into this
    - Better naming convention
Marked a number of new interfaces as Incubating
Fix integ tests for changed binary types
Updates to NativeTestSuite & Binary

- Renames to match Project* naming scheme
- Added missing internal API
DSL doc updates for renamed API classes