forgot to call super event handler
in search mode, jump to the first place the search text is found while typing
use cursortools and prefer format instead of unicode
update manpage
wordboundary: triple-click to select a line
make triple click behave as the default implementation
somehow f1 in search widget did not work, now it does
move search.py to search/__init__.py

this is done so we can add functionality in a structured way, e.g.
history, and replace in other documents, etc.
make search widget behaviour more intuitive

when there is a selection it is set as the search text, otherwise
the current word is only set when there is no current search text.
when the text cursor would currently be in a search result, it is
selected and not the next search result.
fix to search widget bugs

1. if reopened with same search text, highlighting wasnt switched on
2. cursor was moved if reopened with same text, not needed
also keep hl on when going from replace mode to find mode
dont call showWidget when not necessary
VCSRepo: Add abstract fetch() method
Make _run_git_command() more flexible (error handling)

As it seems Git commands are quite 'versatile' with regards
to their output on stdout and stderr ;-)
Therefore it seems better not to raise exceptions in the
basic _run method, even if that means more and some
redundant code in the higher-level caller functions.

_run_git_command() now returns a tuple of
- the stdout result (formatted as a list of strings)
- the stderr output.

Calling functions should handle the presence of 'error'
themselves, deciding whether to raise an exception or not.
VCS: Cosmetic touch to git checkout
VCS: Implement git fetch

Currently only works when the user has configured git
so it doesn't need interaction (e.g. passwords) when
communicating with the remote server.

Simply passes stderr output to the caller, so the calling function
(e.g. in the GUI) has to determine if an 'error' is regular info
output or indicates an exception
VCS: Add differing_commits() method

Compare local with (already fetched) remote branches.
Return
- remote_branches (that aren't present locally)
- local_branches (that aren't present remotely)

Can be used to determine the need of updates
VCS: Add app_repo.update() method

- Fetches from wbsoft/frescobaldi
- Determines if there are fast-forwardable updates
  (raises an exception if there are non-fast-forwardable updates)
- Switches to master
  (currently raises an exception if working tree isn't clean.
   Should this stash instead and reapply stash later?)
- performs fast-forward
- Switches back to previous branch
  (GUI should ask what user wants:
  - checkout and restart to master
  - continue current working session
  - try to rebase current branch to master and restart)
- returns a list of the commit messages of the applied updates
Fix import in vcs.menu
Let _run_git_command use QProcess WIP

Doesn't work at all so far:
- don't seem to be able to catch stderr
- instead the process always returns with 5 ("unknown error")