Fixed a deadlock when adding new TCP workers.

Adding TCP workers while there were any ongoing requests resulted in a deadlock because the worker became rented before it could finish adding itself to the connector pool.
Fixed a possible checkout/checkin deadlock.

Since pending requests are dispatched on checkin, having checkin wait for result might have deadlocked the caller.