Regression tests for GH-286.
Wrapping result of set{Timeout,Interval}.
self resume, worker is instvar.
tearDown call moved to TestResult >> runCase:
RunningTestContext governs run of single test case.
Async SUnit tests, sans timeout.
tearDown called when async failure/error.
#async: block of finished test not run.
nextRunDo: removed, contextOf: creates context.
Async tests can now be rerun individually.
graceTime: now works and produces timeouts.
Merge pull request #287 from herby/gh-286

Wrapping result of set{Timeout,Interval}.
Merge pull request #285 from herby/async-tests

Asynchronous SUnit tests
- ForkPool refactorings
- Removed mixed st/js code from interval/timeout handling
RunningTestContext >> execute: refactored for readability.
Merge pull request #320 from herby/async-test-refactor-readable

`RunningTestContext >> execute:` refactored for readability.
*TestContext classes refactored.

The class hierarchy was switched (simple test context is superclass).
As a result, the code is simplified (there is less methods and are simpler).
Classes are renamed ({Bare,Reporting}TestContext).
Merge pull request #321 from herby/async-test-refactor-readable

*TestContext classes refactored.
More class SUnit comments and refactorings
More SUnit tests