Improvements
------------
- The CommandController is now composed of four mixin classes that
can be combined and tweaked to create custom controllers.
- CommandController takes optional parameters: program name,
program version, program summary and program URL. When provided,
they are used in output generated by the 'version' and 'help'
commands.
- The 'version' command takes an optional --short command-line option
that, when provided, causes it to output just the version number.
- The 'version' command includes information about Python, bzrlib
and commandant in its output, in addition to information about
the program being run.
- A new DocstringHelpTopic can be subclassed to create topics that
load summary and help content from the subclass's docstring.
- New BzrlibHooksResource test resource resets internal data
structures in bzrlib that may have been modified by tests.
- bzrlib's internal UI machinery is initialized then bzrlib hooks
are installed.
Bug fixes
---------
- If the first option, expected to the command path, starts with a
'-' a usage message is shown, instead of an error about a missing
path.