Don't call done when tests are cancelled unless registerTests was called

Otherwise the Reporter API is violated. `done` should only be called after `registerTests`.

This would manifest as a crash in the suite runner if it was cancelled while gathering the list of tests to run.