zig fmt: avoid unnecessary file system access
zig fmt: avoid unnecessary file system access

zig fmt previously would write a temp file, and then either rename it
into place if necessary, or unlink it if nothing was changed. Now zig
fmt renders into a memory buffer, and only writes the temp file and
renames it into place if anything changed.

Based on the performance testing I did this actually did not have much
of an impact, however it's likely that on other operating systems and
other hard drives this could make a big difference.

raulgrell/zig,zig-lang/zig,raulgrell/zig,zig-lang/zig,raulgrell/zig,zig-lang/zig,andrewrk/zig,andrewrk/zig,raulgrell/zig,raulgrell/zig