[JIT] Improve Future subtype checking (#44570)
Summary:
Pull Request resolved: https://github.com/pytorch/pytorch/pull/44570
**Summary**
This commit improves subtype checking for futures so that
`Future[T]` is considered to be a subtype of `Future[U]` if `U` is a
subtype of `V`.
**Test Plan**
This commit adds a test case to `test_async.py` that tests this.
Test Plan: Imported from OSS
Reviewed By: eellison
Differential Revision: D23660588
Pulled By: SplitInfinity
fbshipit-source-id: b606137c91379debab91b9f41057f7b1605757c5