Add new InvocationContext type.
Use the new InvocationContext instead of the ITestLogger.
Catch and report Exceptions here to provide better stack traces.
Improve cancellation.
Fix conditionals.

We may put a category attribute on a single test method, without also adding
it to the entire fixture.
Test method can now return Task<bool> to flag success/failure when it catches Exceptions internally.
Add "Reuse Connection" feature to enable/disable these on demand.
The new async Listener.

This currently breaks the proxy tests, but fixes a couple of problems
and race conditions when using redirect or authentication.