TestCollection complete event

The branch introduces the concept of "finished" to a TestCollection. Cases now have a 350ms timeout from the moment they are created. Tests can run for at most 400ms without a Case resolving (this timer is reset when a Case resolves). TestCollections can run for at most 500ms without a Test completing. 

I've added test coverage for these new behaviors and expanded test coverage we were missing in terms of event callbacks.

Now we have three distinct callbacks for a TestCollection:

```caseResolve```

Called whenever a single Case in a TestCollection is resolved.

```testComplete```

Called when all the Cases in a Test resolve or time out and the Test is marked as complete.

```complete```

Called when all the Tests in a TestCollection complete or time out.

These allow us to log individual Case results as they come in, get analytics for individuals Tests and they complete and get results for the complete TestCollection run when it's finished.

I opened an integration issue with the KING accessibility monitor here: https://github.com/KINGgemeenten/accessibilitymonitor/issues/1