Closes#18261
This makes sure that we find external formatters in the project
environment.
TODO:
- [x] Use a different type for the triplet of `(buffer_handle,
buffer_path, buffer_env)`. Something like `FormattableBuffer`.
- [x] Test this!!
Release Notes:
- Fixed external formatters not being found, even when they were
available in the `$PATH` of a project.
---------
Co-authored-by: Bennet <bennet@zed.dev>