cleanup test driver
We have used
smTestDriver for ages but it's woefully inadequate to help develop complicated tests that we often resort to having custom Cmake scripts to runs those tests. This issue is to collect all requirements from a new test driver.
Use Python. It's reasonable to expect systems that run tests have Python available even if Python is not enabled for ParaView build itself. Set of unit tests are still available to run some tests is Python is not available on platform at all. The hope is that using a script instead of a C++ executable will make the driver easier to maintain and update.
Run multiple executables with different set of arguments. These executable may be launched concurrently (or nearly concurrently, where subsequent executables are launched after an executable prints out a "go ahead" message) or sequentially (subsequent executables are launched after earlier one exits with success).