Add utility event for reporting spec progression

It works as an interface for external events implement its own
verifications.
Use SpecReporter internally

Standardize the reporting method, it requires that SpecRunner interfaces
the external events providing data for reporting.
Add internal events for Success and Skip
Implement report for Success and Skip

Skipped specs are also verbosely reported.
SpecRunner.mon: make some actions private

No more required to expose data about current spec.
SpecRunner.mon: inline method
Use SpecReporter to report timeout