BUGFIX: thisshellhas(): blacklist pathnames
BUGFIX: thisshellhas(): blacklist pathnames

bin/modernish:

  Explicitly disallow pathnames from thisshellhas() identifiers as something
  like 'thisshellhas --bi=/bin/ls' (and hence 'thisshellhas /bin/ls') would
  produce a false positive in the versions run on pdksh/mksh and pure POSIX
  shells. The cause was that, given that /bin/ls exists, "command -v
  /bin/ls" produces a positive even after unsetting (im)possible functions
  and aliases named /bin/ls in a subshell. (Why 'unset -f' and 'unalias'
  don't error out on pathnames, I don't know.)

  Considering that passing a pathname to thisshellhas() is a sign of a bug in
  the program calling it, consider a pathname an invalid identifier and die().

modernish/modernish