ENG-5194: Add sanity checks to client affinity connection choice

- Make sure that the replica we pick for reads is connected
- Make sure that the final connection we've picked for either is
  connected
- Fall back to round-robin in the event of fail