Shut down consumer work pools when connection is closed

References #172.
Ditto for when connection is closed by the peer

References #172.
Handle shutdown exceptions when connection is closed via HTTP API
Close transport even if I/O loop raises an exception