runtests.py: interrupt handler should call all output handlers in turn
runtests.py: Continuing the refactor