Subject: | Usage message on bad command name should go to STDERR |
The usage message generated by a bad command name goes to STDOUT, which means piping
the output into something else causes unexpected behavior.
This can be easily observed by running something like 'dzil foo | cpanm'.
Ideally, when it's being run because of a missing or invalid subcommand name, the 'help'
builtin would output to STDERR instead of STDOUT.