This makes it possible to further customize build process for particular
target in the user's CMake files.
- Documented some of the variables controlling test generation.
- test_suite_add_executable has been renamed to llvm_test_executable()
- removed 'mainsource' parameter
- return generated executable names, if user needs them
- Set include paths for current build/source dirs for each test we generate.
Note: previously iinclude path was set globally each time llvm_multisource() was invoked. It looked unintentional. Now it's set per executable and no longer applies to subdirectories. As far as I can tell, testsuite still builds. Please let me know if we do want/need to add include paths per directory on llvm_multisource() invocation.