Correctly identify git repo when all changes are staged

Currently, when the git repo is in a state where all changes are staged, the last line of `git status` will return a blank line. This causes the git_dirty function to incorrectly return an empty string, which makes the directory looks like a non-git repo.

Try it out in any directory, stage all your changes and notice how the branch name in the prompt disappears.

```
⇨  git --version                                                                  master
git version 1.8.5.2 (Apple Git-48)
```