List valid commands on CommandNotFoundException

This commit makes commands discoverable and emits more precise usage
information.  It also removes duplication between the Unix and Windows
scripts.  Closes #32.
Merge pull request #52 from maginatics/make-commands-discoverable

List valid commands on CommandNotFoundException