Adds connection switching to the Nvp driver

RM10638

Updates the NVP driver to switch controllers on any traceback from the
underlying connection. It's still up to the calling code to retry, or
not, as this simply iterates a connection index and reraises the
exception from the connection. I've opted to not add any more handling in
this particular patch, as it's already a large change.