Don't show available enum constants when conversion failed

If they are shown, user may be confused with choices because choices
may be more limited.
Add ArgumentParser.addMutuallyExclusiveGroup() without title arg

If both title and description are empty, the help message for the
group is merged into other optional arguments.
Add ArgumentParser.usage()

By default, the program usage is generated from the arguments
the ArgumentParser object contains. This method overrides it.
Support ${prog} substitution in version string
Code cleanup
Update doc
Add CountArgumentAction

CountArgumentAction counts the number of occurrence of an option.
Arguments.count() returns the instance of this object for shortcut.
Untabify usage.rst