Fixed invocation of AsyncListener.onError(), now called even if the response is already committed, in both EE9 and EE10.
Reworked EE9 HttpChannel state machine in case of failures to be like EE10's. In particular, calling abort now is a state change, rather than a failure of the Handler callback. In this way, the handle() loop continues, enters case TERMINATED, and the callback is completed in onCompleted().
Fixed EE9 handling of idle timeout in HttpChannel.onRequest(), that was missing.