Fix _interrupt in both event loop implementations

The `_interrupt()` method was broken in both event loop implementations(it was
not stopping the event loop). This commit adds a test and fixes the bug.