[c10d] make ProcessGroupNCCL work.wait() respect timeout (#100162)
Fixes #83486
TestDistBackendWithSpawn.test_monitored_barrier_allreduce_hang and NcclErrorHandlingTest.test_nccl_timeout passed.
Pull Request resolved: https://github.com/pytorch/pytorch/pull/100162
Approved by: https://github.com/ezyang