*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.