chore: use fs-err in turborepo fs related libs (#5517)
### Description
Swaps our usage of various `fs` methods to use `fs-err` instead. To
quote the `fs-err` docs:
> Using [std::fs](https://doc.rust-lang.org/stable/std/fs/), if this
code fails:
>
> `let file = File::open("does not exist.txt")?;`
>
> The error message that Rust gives you isn't very useful:
>
> `The system cannot find the file specified. (os error 2)`
>
> ...but if we use `fs-err` instead, our error contains more actionable
information:
>
> ```failed to open file `does not exist.txt`
> caused by: The system cannot find the file specified. (os error 2)```
### Testing Instructions
Existing unit tests pass
Co-authored-by: Chris Olszewski <Chris Olszewski>