Mark the connection bad if the server responds with something unexpected

Commit 07745050691bbe88ce770ca38311c19be9445e37 allows us to return an
error message while still marking the connection bad.  Use that to our
advantage in cases where the protocol state appears to be out of sync.
This way the user still sees the specific error message (and hopefully
we'll see a bug report), but we avoid putting bad connections into the
pool thinking they're still A-ok.