Add support to the suite runner for getting and setting slow thresholds

The value isn't used anywhere yet.
Add TestFailureError

It will be used to make it possible to discern between test failures
and internal test runner errors.
Make the suite runner throw TestFailureError when a test fails

This will make it possible for the one that uses the suite runner to know
when to show the error and when to suppess it. Test failures don't need to
be shown usually, because they will already have been reported by the
reporters. Other errors, however, need to be properly reported.
Report non test failures in test.js

These happen for example when there is a bug in a reporter or in the suite
runner.
Print prettier and more useful output on internal errors
Improve error message util documentation a bit