feature: worktree with stage view

Goes on with PR #61 

Basic UI:
- [x] Add a view to show staged changes
- [ ] Add an embedded commit "dialog", with commit, sign-off and amend functionality
- [x] Implement filters for the staging area, following "single-source-principle"
- [ ] A bigger topic is sync'ing the file status (nothing new, eh?). For the first run, I would stay away from this and just rebuild everything from scratch on refresh (see #32). Means ... simply call "repositoryChanged" in the main view manually.

Actions:
- [x] Add actions for context menus and such
- [ ] Implement functionality to be able to actual stage / unstage files

Cleanup and usability:
- [ ] Show folders in the stage view only, when affected
- [ ] Add move and hide functionality to header columns in tree views

Diff / File View:
- [ ] Show the Diff for the selected file only (no sequence of files)
- [ ] Implement a hunk and line selection mechanism (aka "line-wise staging"); see also GitX commit dialog for this

Internal (refactor / redesign):
- [x] move to QSortFilterModel based filtering (maybe sorting e.g. for file mtime, size, ... also in the future)