Use the configuration variables to display upstream deviations

This pull cleans up a bit. The __fish_git_prompt function hasn't changed in functionality but I took the liberty of pulling out functions.
I for one wanted to change the way the prompt handles dirty state and untracked files. Now I can overwrite the relevant functions in my own config directory and be done with it.

Added benefit is that the code is now IMHO more readable.