fix std.Build.OptionsStep

* use the same hash function as the rest of the steps
 * fix race condition due to a macOS oddity.
 * fix race condition due to file truncation (rename into place instead)
 * integrate with marking Step.result_cached. check if the file already
   exists with fs.access before doing anything else.
 * use a directory so that the file basename can be "options.zig"
   instead of a hash digest.
 * better error reporting in case of file system failures.
8f481dfc3cAndrew Kelley committed on 3/19/2023, 4:39:29 AMparent2ac8d90
4 files changedLine totals unavailable