Stdio.File(): close() fixes.
Unify low level calls close_fd() and close_fd_quietly() to reduce
Fix error handling in close_fd() and do_close_fd(). POSIX says that
fds are closed on all errors except EINTR, where it is unspecified.
Don't complain about close(2) failing with EBADF if it previously
failed with EINTR.
Ignore close(2) failing with ECONNRESET. This happens on eg FreeBSD
when there is still data pending to be sent and the peer has already
closed the connection.
Fix documentation for the return value of close().
Potential fix for testsuite failures on FreeBSD.