Use safefile package for atomic updates of files
Did a local review of safefile package, with local git hash 855e8d98f1852d48dde521e0522408d1fe7e836a.
Regarding the old-style // +build lines, I found some docs at https://go.googlesource.com/proposal/+/master/design/draft-gobuild.md, and it seems that "// +build !plan9,!windows windows,go1.5" in rename.go means ((not plan9) and (not windows)) or (windows and (go1.5 or later)). Which should be true for all our builds.
Edited by Niels Möller