An unintrusive implementation - no existing interfaces changed, and a single addition for obtaining all of the different long names.
Notes:
* Tests added for the new functionality, and existing tests expanded to take it into account.
* It is now impossible to specify long names with commas in them (but then, that wasn't properly supported before either, more of an oversight).
* The multiple long options are not included in the usage information - just the first one of them is printed
The name of option is now shown in most cases when it's feasible, and
clarify of the error messages has been improved throughout.
Patch from Leo Goodstadt.
[SVN r77827]