Make std.file.setTimes safe

It contains the following unsafe operations but we can verify they can be trusted.

On Windows systems:
- use of `core.sys.windows.winodws.CreateFileW`, `CloseHandle` and `SetFileTime`
- use of `std.internal.cstring.tempCString` and `tempCString.Res.~this`

On Posix systems:
- use of `core.sys.posix.sys.time.utimes`
- use of `std.internal.cstring.tempCString` and `tempCString.Res.~this`