Properly tearDown all event-dispatching testers
StrictInterpretation::isFailure returns Boolean, not integer
SoftInterpretation implemented as a default result interpretation
TestResult refactored to be an interface
Setup and Teardown VOs were introduced to handle test setUp and tearDown
Hook scopes were introduced as a way to decouple hooks from events
Hook subsystem was refactored to use scopes instead of events
Hookable testers are introduced
Event subsystem was refactored
Refactored Behat to support Testwork changes