bug 2443: bin/cp: sync with FreeBSD (bug fixes + new options)
* Fix FTS_NOCHDIR behavior on empty directory.
* Add -a option (archive mode, equivalent to -RpP)
* Add -l option (create hard links instead of copying)
* Add -x option (FS mount points are not traversed)
* Preserve file flags on symlinks on cp -Rp
* Don't copy socket anyway after "xxx is a socket (not copied)"
* Avoid division-by-zero situations
* make -r synonym for -R but maintain -r behavior with -L
Taken-from: FreeBSD (multiple commits)
https://bugs.dragonflybsd.org/issues/2443