message: util: fix WriteBinaryFile() claiming success even if error occurred
  `fclose()` is flushing any buffered data to disk, so if it fails then
  that could mean that the data was not completely written to disk.
  Thus, check if `fclose()` succeeds and only then claim success from
  `WriteBinaryFile()`.
diff: @@ -40,6 +40,8 @@ bool WriteBinaryFile(const fs::path &filename, const std::string &data)
  fclose(f);
  return false;
  }
  - fclose(f);
  + if (fclose(f) != 0) {
  + return false;
  + }
  return true;
  }
  