no_arg flags may be passed at most once. The boolean returned
is true iff the flag is passed on the command line
no_arg_register ~key ~value is like no_arg, but associates value
with key in the in the auto-completion environment
no_arg_abort ~exit is like no_arg, but aborts command-line parsing
by calling exit. This flag type is useful for "help"-style flags that
just print something and exit.
escape flags may be passed at most once. They cause the command line parser to
abort and pass through all remaining command line arguments as the value of the
flag.
A standard choice of flag name to use with escape is "--".