Refactor Vim and common branch segments to share code
Add ignore_statuses option to branch segments

Closes #1080
Merge pull request #1096 from ZyX-I/no-untracked-dirty

Add a way to not mark repo as dirty when it only has untracked files