Suite hooks are back

- Moved `testSubject` argument from `EnvironmentHandler::build()` to `EnvironmentHandler::isolate()`
- Ensured that suite will run only once by introduced `GroupedSubjects`
- Renamed `ExerciseTester::test()` into `Exercise::run()` for cleaner domain expression
- Renamed `ExerciseTested` event to `ExerciseCompleted`
- Added back suite hooks (before and after) together with support in PrettyFormatter