connection: Rewrite check_out() to fix race condition causing hang.

clean() may have cleared out all connections in the host pool but the
original caller is still waiting for ready to be queued by a non-
existant busy connection.