Add `emit_until_response` to event emitter.

This adds a new method called `emit_until_response` which will call
all of the handlers for an event in order **until** one of them
returns a non-`None` response. Once that handler is reached, processing
of the remaining handlers stops.

It is currently not used by anything, but is included as part of #414.

cc @jamesls 
I'll go ahead and add these, then update the PR.