Implement local per-directory settings

SettingObject can store settings local to a directory. Then LocalSettingObject
choses the right settings according to context.
added setlocal command to handle local settings
api.commands: fix "alias" command to work with extra arguments
api.commands: removed unneeded statement in shift()
remove quoted path setlocal example in config/rc.conf
scope.sh: wrap highlight to treat exit code 141 as success
container.settingobject: added setting "update_tmux_title"
core.actions: more debug output
core.loader: ensure that loaders are stopped on error
core.tab: make tab.get_selection() cursor-agnostic

Without this, if you enter another tab, the cursor of the directory may
change and get_selection() will not return the actual selected file of
the tab anymore (unless they have been marked, in which case
everything's fine).
core.actions: make macros %F/%S work with new tab system
config/rc.conf: prettier "or" keybinding
config/rc.conf: fix "ot"/"oT" keybindings

The quotes are not required anymore since :set doesn't eval the argument
anymore.
core.tab: fix %s macro in empty directories
core.actions: fix incorrect tab creation in tab_open
widgets.statusbar: avoid an exception on bad current path
core.actions: fix another case in tab_open

if you use ":tab_open 1 /path" while being in tab 1, the path should
change to /path, but it doesn't.
config/commands: Added commands 'mark_tag' and 'unmark_tag'
widgets.console: implement question prompts
widgets.console: remove debug code