Introduced a native testing base plugin, to take care of common aspects of native test support. Currently simply adds some lifecycle tasks. Introduced an abstraction to represent a native test suite and renamed `testExecutable` to `testBinary` on each of the native test suite types.
Introduced an abstraction for a native component that has a development binary, and use this for libraries and applications, but not test suites. Removed the `developmentBinary` property from the test suite types.