Simplify NoSuchKegError condition

dirs will be empty if the rack directory does not exist.
Remove a dead branch from ARGV.kegs

rack cannot be nil at the point where FormulaUnavailableError is raised,
so we don't need a branch to deal with that.
The rack variable is only used inside the block now
Use canonical_name when checking LinkedKegs and opt

name is the user-provided string and may be an alias, path, or URL.