Refactor test suite event state to support errored tests and publish full statistics to reporters.
Publish suite events to reporterts in OCTestSuiteEventState and test events in TestRunState rather then in OCUnitTestRunner.
Update TestRunStateTests to reflect previous changes.