Factor out response deque polling in to common method.
Move common error/rollback-triggering code into pollForResponses()
Switch from take() to poll with a long timeout.  Deliver some
dev-useful deadlock info if we timeout and have no message.