Reorganize CommandLineHelpWriter implementation.
Instead of separate classes to write out descriptions and different
types of options, there is now three main local classes:
- OptionsFilter: has output format independent logic to do the
filterting that was previously implemented in each class separately.
- OptionsFormatterInterface: interface that OptionsFilter uses to do
output format specific formatting for the options.
- OptionsConsoleFormatter: implements the above interface to produce
the console help that was previously done by the separate classes.
Prerequisite for #969 independent of the chosen solution.
May need additional work as part of that issue.
Change-Id: Ica506f3567b4527f210c48c1b43069d4b64007ec