Compute lines of *unstaged* changes in prompt

The specificity of this commit is that we do not use `awk` and `git diff
--numstat`. Here we manually parse `git diff --shortstat` to get the
line count of *unstaged* changes.
Improvements of the git related stuff are still possible, using more
plumbing commands, like:
* `git diff-index --quiet HEAD` to check for uncommitted changes (branch
  color), rather than relying on the `git diff --shortstat HEAD`
* `git ls-files --exclude-standard --others` to check for untracked
  files