You can only reconnect a handle if it's in-use by you
Tweak reconnect logic.

A reconnect means open new connection, or if that fails, try
to find an unused one.  But don't spawn a new connection.

Also, we can only reconnect a used connection.  It's an error
to reconnect an unused connection.