feat(cp): add -i/-f/-H/-L/-P, wire -p, fix mode and same-file
Implements GNU coreutils compatibility for cp:
- -i interactive prompt before overwrite (last-flag-wins
with -f and -n)
- -f force unlink-and-retry on permission failure
- -H/-L/--dereference/-P/--no-dereference symlink modes
via billy.Symlink capability with graceful degradation
- -p now actually preserves source mode and mtime via
billy.Chmod / billy.Change capability checks
- copyFile uses source mode bits, not hardcoded 0o644
- Same-file detection emits diagnostic and exits non-zero
Refs: docs/posix2018/CONFORMANCE.md
Assisted-by: Claude Opus 4.7 via Claude Code
Signed-off-by: Xe Iaso <me@xeiaso.net>