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 opt any more handling in
this particular patch, as it's already a large change.
Probably want to have this assertion in `load_config`. Otherwise, we wouldn't know there is a misconfiguration until someone makes a request.