Update FileOutputBuffer to always return a FileError, now that it will
pass through the error code from the wrapped error. Also update the
callers not to redundantly include the filename in messages.
One awkward question is whether sys::fs::TempFile should return
FileError. If TempFile starts doing so and it reports the temporary file
path, then FileOutputBuffer should stop adding one... but it probably
wants to avoid leaking the temporary name and report the intended output
file instead. Maybe createFileError() should avoid double-wrapping a
FileError, instead replacing the named file in that error?
Another awkward question is whether all the callers were updated to
avoid redundantly reporting the filename. No tests failed, even before I
audited the callers. Maybe this is fine?
Note: this is an example of using https://reviews.llvm.org/D113225.