Add exception objects for recoverable exceptions.

The UnknownCommand and MissingCommand cases in the run() method are more
cleanly handled through exception objects.
Expand testing of Help class.
Update documentation for the Help module.
Flesh out testing on Help module.