Allow string argument to getNoVariants().
0.5.20
Allow key prefixing for options and commands.

Such that `file: -o, --output` will set the key for the option to *file*
this is very useful for preventing name conflicts on automatically
generated keys, to allow the user to be more explicit about how they
reference options and commands.

It also allows easier refactoring of option names without having to
refactor the code that references those options or commands.
0.5.21