refactor: Moving to thiserror part 2 (#6273)
### Description
Moved all of our errors to thiserror. Also added `#[source]` annotations
so we correctly link the underlying error whenever we have one (i.e. if
we fail to write to the config, we link to the `io::Error` that caused
this failure)
### Testing Instructions
We no longer have `anyhow` as a dependency (only a dev-dependency), so
we're guaranteed to be off it.
Closes TURBO-1529
---------
Co-authored-by: nicholaslyang <Nicholas Yang>