Make std.file.readLink safe

It includes the following unsafe operations but we can verify that they can be trusted.
- use of unsafe functions `core.sys.posix.unistd.readlink`, `std.internal.cstring.tempCString`, `std.internal.cstring.tempCString.Res.~this` and `std.exception.assumeUnique`

I wrapped `readlink` and `tempCString` in one trusted function because `tempCString` returns a struct with unsafe destructor.