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