Fix the -f option to follow the directions in POSIX. Specifically, when
the destination file exists, first try opening it with flags O_WRONLY
and O_TRUNC, and only unlink it if the open fails.
Merge branch 'cp-symlink-dst' into markj