Add support for retries to ErrorTracker and PhaseTracker

This is as far as I can tell what's necessary to make the reporters
do the right thing on retries.
Add support for test retries
Add listingTimeout parameter to the suite runner

This will make it possible to set really low timeouts in tests without
risking to trigger the listing timeout.
Lower some timeouts that can now be lower

Previously they had to be higher because the test listing timeout
was the same as the test timeout.
Fix a potential race when tests time out but exit before being killed
Remove "possible strict violation" linter error

It's not accurate and strict mode is enforced anyway.
Fix linter errors
Fix incorrect reporting on retries
Enhance error reporting in the reporter api test suite
Merge pull request #33 from pereckerdal/retries

Add support for retrying tests when they fail