Extend subcommand dispatch to include full paths

Covering all cases
- external commands as executables
- external commands as Ruby libraries
- built-in command verbs

This is intended as a development aid.

A side benefit is that an external command can be constructed
to use a `run` method, rather than having to accomplish everything
at `require` time.
make example external command work again

`brewcask-dumpcask.rb` was broken by #4964.
Merge pull request #5024 from rolandwalker/qualified_subcommands

Extend subcommand dispatch to include full paths