Add symlinkOrCopyPreserveSync support function.

This will be usable throughout many of the plugins to abstract them away
from caring about the `isWindows` check.

Calculate absolute path if source is not absolute already.