[DataLoader] Close open in DataPipe streams on best effort basis (#78952)
Adding ability to:
- Track open StreamWrappers with `StreamWrapper.session_streams`
- Automatically close parent StreamWrapper (ex. torchdata tar is the parent and extracted file streams are children)
- Close streams in discarded by filtering structures
Differential Revision: [D37489935](https://our.internmc.facebook.com/intern/diff/D37489935)
Pull Request resolved: https://github.com/pytorch/pytorch/pull/78952
Approved by: https://github.com/ejguan