Fix bug in use of `strncpy()`.
Propagate exit status information from the tests out to the test harness correctly.
Changed `output_t` instances to be of class type with vtables.