[perl #125347] allow truncate to work on large files on Win32
truncate($filename, $size) was using a simple PerlIO_open() to open
the file, which on Win32 defaults to a text mode open.
Unfortunately, on a text mode open(), MSVCRT attempts to seek to the
end of file using only 32-bit offsets, which fails.
For good measure, add in O_LARGEFILE if it's available, which may
prevent similar issues on other platforms.
Also, remove the erroneous SETERRNO() added by
375ed12a to the open
failure branch, PerlLIO_open() should already set errno on failure, so
we get sane error messages when the open fails.