Add a testIncludes and testExcludes parameter to support more robust
testing, particularly to unit test executables by excluding the main
routine and including a test main routine. Preserve the previous
behavior whenever testIncludes and testExcludes are not specified.