Reporters count correctly when :teardown fails/errors.

When there is a failure or exception in a :teardown, ProgressReporter
was counting the test twice, resulting in a > 100% completion
percentage.

RubyMineReporter was counting the additional failure or error as a
separate test and logging a warning to the console.

* Add an :after_test callback to the reporters.
* Rename DefaultReporter's now-conflicting :after_test to
  :test_result.
* Both reporters report test completion status in after_test instead
  of in the various pass/fail/etc. methods.
Revert "Use a monkey patch for (before|after)_test hooks."

This reverts commit 865b608bd3e93de8914976920fddb402ae66d74f.

That commit doesn't fix the problem with mintest-3.5.0.
minitest <= 4.1.0 compatibility.

minitest-4.1.0 and earlier send record from _run_suite, which is after
all of the test lifecycle callbacks have happened.  To deal with this,
record now sends after_test on older versions of minitest, and
after_test checks for nil runners and returns early in that case.
Merge branch 'minitest-4.1-and-earlier-compatibility' of https://github.com/randycoulman/minitest-reporters into develop
Directly detect MiniTest version.
Bump version.