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`)

Why this change? Why not just make the function `@trusted`? And I don't know why you're saying that `SysTime` contains a string in the PR description, because it doesn't.