cp: fix -R with links
The traversal was previously not properly honoring -H/-L/-P. Notably,
we should not have been resolving symlinks encountered during traversal
when either -H or -P are specified.
(cherry picked from commit 33ad990ce974be50abdc25427b0f365699d83a34)