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

I think it was in another PR review where we came to the consensus that `@trusted` should be used as rarely as possible, and that many void-initialized variables actually don't need to be such because the following system call already obliterates all performance benefits such may have provided at the expense of safety. So the simplest solution is to make them non-void initialized and mark the function as `@safe`.