Update `brew tap` to work without 'homebrew-'

Currently `brew tap` only works on repos with 'homebrew-' in their name.

This version tries the repo name as is and then falls back to try
'homebrew-repo' only if that fails.

I've also tweaked the regex  in tap_args to allow '-' in repo names. The
previous regex required a match on \w. This made it impossible for people
to tap repos with names like 'username/why-not'.

Closes #18366.

Signed-off-by: Mike McQuaid <mike@mikemcquaid.com>