Updated testing system such that all types of test use the same base function for execution. All differences for the different types of test execution strategies are now located in strategy classes.