Make std.file.timeLastModified with two arguments safe

It contains the following unsafe operations but we can verify that they can be trusted.

On Windows systems:
- use of void initializer of pointers (`SysTime` contains `string`)

On Posix systems:
- use of an unsafe function `core.sys.posix.sys.stat.stat`, `std.internal.cstring.tempCString` and `tempCString.Res.~this`
- taking address of a local variable (`statbuf`)

Yes, I agree. In general there must be a very good reason to resort to void initializers.