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.