xmlsh: add test

Closes #28202.

Signed-off-by: Adam Vandenberg <flangy@gmail.com>
Mirror unlink logic when checking for linked keg-only formulae
show formula version in failed build output
Drop conditional that is always false
Clean up test classes
add linkapps completion
drop unnecessary nil checks
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