Clean up test_motor_ha

Nose ignores the whole file because of the __test__ = False header, no need to mark each case
Remove duplicate test
Port recent ha_tools changes from PyMongo
Add Ship of Theseus replica set test

If all of a replica set's members are replaced with new ones, can MotorRSC stay connected?
Prefer TIMEOUT_SEC env var if it's larger than configured timeout