pathname: use ln_sf in install_symlink.

Closes #28136.
node: remove install_symlink exist? guards.
python: remove install_symlink exist? guards.
python3: remove install_symlink exist? guards.
brew audit: show line number for whitespace

Closes #24481.
Closes #24490.
Recognize and extract xar files
apple-gcc42: remove custom download strategy
Rework make_relative_symlink error handling and move it into keg
Raise useful errors from make_relative_symlink
Only unlink after a LinkError
Raise AlreadyLinkedError when a keg is already linked
Adjust link command for updated error handling
Adjust installer for updated link error handling