Fix: FileStream.Dispose silently fails on Dispose when disk has run out of space (#38742)
* Save last error info in SafeFileHandle.ReleaseHandle and read it in FileStream.Dispose
* Add manual test
* Remove Debug.Fail from SafeFileHandle, automate the drive filling step in the manual test, add suggested comments, make threadstatic field static.
* Address suggestions
* Update src/libraries/System.IO.FileSystem/tests/ManualTests/ManualTests.cs
Co-authored-by: Jan Kotas <jkotas@microsoft.com>
Co-authored-by: carlossanlop <carlossanlop@users.noreply.github.com>
Co-authored-by: Jan Kotas <jkotas@microsoft.com>