Add DonnaContext instead of conv_{flags,fn,data} & donna_context_parse()

donna_context_parse() that will handle all contextual parsing, and can
even be used for text-only stuff.

It supports options to have a default dereferencing as well as disabling
the auto-quoting (good for e.g. text in column/status/etc), and also a
new _DONNA_ARG_TYPE_CUSTOM to get the GString and add to it directly.

So e.g. treeview can use it for its keys (spec/combine) instead of having
to do a pre-parsing ahead of time.
treeview: Use constants for supported context flags
treeview: context: Handle %k/%c like other variables
treeview: status: Refactor to use donna_context_parse()
app: status: Refactor to use donna_context_parse()
treeview: column_set_option(): Fix showing empty error

When cancelling a change of value (vi SAVE_IN_ASK) we would show an empty
error message for title & width.
treeview: column_set_option(): Fix setting "width" not working