Save a reference to the new handle when reconnecting

After a database disconnect, the current version of the code reconnects just fine, but doesn't seem to actually save the reference, so the next call will just find a handle that looks just as inactive as before, and attempt reconnection again.

This is not only wasteful in terms of reconnection attempts, it actually introduces bugs when the software around it depends on the session being stable between two calls.  (which was my case)

The proposed patch fixes that in a way that's good enough for me (TM).  I have no idea how to reliably test for this.
Merge commit '85b631d116de09fe2343aa1e690a4f2b5eec7f76'