app: Fix emit_event()

Now an event either has a source or doesn't, i.e. the triggers are found
under "events/<EVENT>" or "<SOURCE>/events/<EVENT>"

There's always only one category. If treeviews are to emit events, they'll
simply call emit_event() twice, once with "tree_views/<NAME>" as source,
and once with "defaults/<MODE>s" as source.
app: Add emit_info(), helper for event "info"

Event "info" will be used to send messages on some actions, so user can
have feedback. E.g. when nodes are copied to a register, etc
provider-register: Emit "info" when setting/adding/dropping register
treeview: Emit "info" when loaded from/saved to a file
app: statusbar: Add ":app" as source

Supports showing the version number, and the message & details from the
last event "info"
provider-register: Fix getting clipboard context after a drop

It is possible that we dropped register '+' and yet still own the clipboard,
and are asked for its content. Make sure this is properly handled.
list: Fix status not always updated on empty location

Since 559bc45b statuses weren't checked/updated when changing location
to an empty one.
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
app: Fix parsing error in parse_fl()
context: Fix parsing error when dereferencing
treeview: Add option default_save_location

Commands {,column_}set_option can now use "save-location" to refer to
this option, so it's easy to change it on a mode/treeview level without
the need to alter triggers (in context menus, etc)
treeview: Fix comment re: clicks on colheader
treeview: No error on {,column_}set_option if memory/config differ

We used to trigger an error when trying to set an option in CURRENT/ASK
when memory & config didn't have the same value (i.e. we couldn't confirm
that our from/current save_location was correct), IOW when there had
been changes in memory.

This was actually more annoying than anything else, even preventing to
set options or forcing to use other save_locations, etc -- so it's gone.
treeview/columns: Add choice IN_MEMORY from IN_ASK GUI