cleanup the mess when exception occurs
- exception in frame header reader are reported to the client (should no more be stalled)
- exception in frame body reader are reported to the client
- general exception (like connection lost) should be reported to all clients (should no more be stalled)
- dispose takes care to wake up all pending clients with a cancel exception