Simplify waiting for a single event.

Add method to EventEmitter that allows you to await a single event type
to be raised. No more dealing with TaskCompletionSource and setting
event handlers.
Fix tests after ConnectAsync() waits for connection established.