Reworked default value handling, now raises error if nargs given.
Handle action and choices options to add_option.
Small tweak to handling of cmdline argument to handle passing an
explicit cmdline=None.