Make _require_binary() cache its lookup
Change DEBUG into a constant

Need to use constant pragma to avoid non-core dependencies, so shut up
Perl::Critic.
Add debug output for _qx() and improve _run_ext() output

This is to make it clear that _qx() is a shell command, but _run_ext()
is a system command not parsed by the shell.
Avoid using 'which' to check for existance of external program

Also added some debug output to make it easier for people having problems.