Report results in runner

Now runner.run will resolve to of the following status strings:

- `success` - all tests passed;
- `error` - a non-critical error occurred during tests.
- `testsFailure` (for Tester) - no errors occurred, but some tests
  failed.

This changes should greatly simplify CLI code, related to exiting with
appropriate code.