Add documentation to the AbstractMenu class.

Also add a 'title' method, which returns a banner string for when
the menu is presented to the user.
Tweak log messages (and levels) in CascadingMenu
Add a Runner object that can star the console process.

The runner is responsible for parsing the arguments from the cmdline
and instantiating (and configuring) an appropriate console object,
which it then starts.