removed a slow and flaky test
Fix #4.

I'd forgotten to use the synchroniser in cancel(), as @ralphje correctly pointed out.
In order to make this work, I had to turn cancel() into a coroutine.