lib/git.zsh: Avoid calling current_branch()

The original code hard-coded 'origin' as the remote and called
current_branch() to get the corresponding remote branch name,
which may not necessarily be the correct upstream branch.

Use the the built-in @{upstream} syntax instead of calling
current_branch().

This improves performance and fixes a bug when the local and
remote branches do not have the same name.
ilb/git.zsh: Optimize git_prompt_status()

Avoid looking for dirty submodules when git >= 1.7.2 using
the --ignore-submodules=dirty option.

Avoid looking at untracked files and other types of files when
the theme does not display them.

This dramatically speeds up performance.
Add davvid theme