cope with unexpected, fatal errors from the server

e.g. slow consumer

this is done by simply adding a buffer size of 1 to the errors channel,
which will allow the error to be sent, and the read loop to continue on
to notice that we've been disconnected

[finishes #52493009]