Implemented support for running individual tests
Added support for cancelling tests
Refactoring + fixed some bugs

Refactored some of the code in order to fix a bug with parameterized
tests.
Fixed another bug where running the tests passes on the first run, then
fails on subsequent ones (because executors were kept alive)