Add missing unit tests for the test runner

These were being tested "implicitly" as they were being used in the
tests themselves (well, some things were).  This adds explicit unit
tests for the behavior in the test runner.

This is prep for #111.

@jcredding ready for review.