Higher priorty gets executed first, as expected.
Don't set the listener null when disconnecting.

If the connection is closed during dispatch, it should still receive the current dispatch and
therefore still needs to hang on to its listener. Furthermore, nulling out the listener didn't
actually accomplish anything, as removing itself with the owner and setting the owner null is all
that's required to close the connection.
Revert "Don't set the listener null when disconnecting."

This reverts commit 6ccb2a514cb80f2a26978e86c0f46c892e7257cf.

The java version of the library has different behavior here
for some reason, but we explicitly want to prevent a disconnected
listener from being called, regardless of whether a dispatch
was in progress
change SignalTest.testRemoveDuringDispatch to match intended behavior
fix: MultiFailureError handles IOErrorEvent and other non-Error failures
Merge remote-tracking branch 'upstream/master'