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
context: doc: Fix typo
config: Minor change
treeview: Fix typo in comments
treeview: Add command set_columns()
config: Add (public) is_value_valid_for_extra()
treeview: Refactor set_option()

We now get the list of supported options, to check that option exists
but also get its type/extra. We can then convert/check the (string
representation of the) value to set, and finally set it.

Also, for options that are extra LIST_FLAGS, it was actually only possible
to specify one infile value to be toggled from current value. Now, one can
specify a (comma-separated) list of flags, to be set.
Prefixing said list with a comma to make it a toggle from current value.
treeview/columntypes: Refactor column_set_option()

CTs can now return the list of options they support, w/ type & extra. This
is used by treeview to make sure the option is supported, and convert/check
the value, using extras if needed, much like for treeview options.

So in set_options() CTs now get a pointer to the value, and a flag toggle
for FLAGS when the value needs to be toggled from current value.
They are sure the option exist, and the value is valid (according to
extra). And of course all parsing is done the same for all treeview/column
options.

Also, ct-perms now has an extra "sort-perms" for the permissiosn sorting
criteria.
treeview: set_option(): Allow NULL as value (for in memory)
treeview: set_option(): Fix setting "title" not always working

Only worked for IN_MEMORY
treeview: column_set_option(): Allow NULL as value (for in memory)
command: Fix node_trigger() being GUI (now INTERNAL)

It doesn't have to be GUI, and was only so in case we needed to set
location of active-list. This is now done via a new GUI task.

Besides, when we call cmd_node_popup_children() there was a risk of
blocking things, as this is the task worker for an INTERNAL task!
treeview: Add command save_to_config()
app: statusprovider: Fix segfault parsing tooltip

When parsing the fallback format, since we use the same GString, we
need to return FALSE (since the GString has been updated as needed, and
we don't set a ptr to use)
context: Minor tweak
app: Use DonnaContext to parse window title
app: Put status_donna under the lock

Since we might access it from different threads it needs to be done
under the lock.