Minitest 4.1 and earlier compatibility

The fix for minitest-3.5.0 compatibility in 865b60 didn't fix the problem.

minitest-4.1.0 and earlier send record from _run_suite, which is after all of the test lifecycle callbacks have already happened.  This results in two problems:

* `after-test` gets sent before the results have been recorded, so `runners` is nil when trying to iterate it.
* `after_test` is unable to trigger any of the result callbacks, because it doesn't get sent at the right time.

To deal with this, I changed record so that it sends after_test on older versions of minitest, and put a guard clause into `after_test`, so that it does nothing when sent too early.  This version continues to work properly with minitest >= 4.2.0 as well.

Before making these changes, I backed out the earlier commit.