NOTMUCH_OPT_INHERIT expects a notmuch_opt_desc_t * pointer in
output_var.
The "Unrecognized option" message was moved out of parse_option() to
not be emitted twice or when parsing a non-inherited option.
As we noticed when Jani kindly converted things to getopt_long, much
of the work in argument parsing in notmuch is due to the the key-value
style arguments like --format=(raw|json|text).
The framework here provides positional arguments, simple switches,
and --key=value style arguments that can take a value being an integer,
a string, or one of a set of keywords.