_lp_shorten_path: set value for locals on separate line (zsh)

zsh doesn't like if we set the value of a local while we declare it.
_lp_shorten_path: don't use a sub shell anymore

Instead of using a subshell, _lp_shorten_path now directly sets its
result into the LP_PWD variable.
This is not just for style, but for speed.
Compute lines of *unstaged* changes in prompt

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
propsing an implementation for #219