Use git diff instead of diff.

As mentioned in the README, Git on Windows doesn't add diff to path.
But it's not even needed, because git diff can compare any 2 files.
As a bonus, it also allows to use --text-diff and --patience.
Don't run when there is no active view for window

Sometimes GitGutter tries to run when there is no active window
and it throws an error because self.view is None.
I have only been able to reproduce this in the following scenario:
you clicked on FileA in the sidebar (FileA is not previously open)
not to open it but to preview it. While previewing it you press
ctrl+` to open a console. With the console selected and the
unopened FileA preview showing in the window you click on another
unopened file, FileB to preview that file. There will be no active
window at this time and GitGutter will throw an error. So we can
just skip running this time because immediately after selecting
FileB, focus will shift from the console to its preview. This will
cause GitGutter to run again on the FileB preview.
Wow that was a really long explanation.
Make grammar scope more specific
Quick fix for issue #41
Merge branch 'master' of github.com:alisey/GitGutter into alisey
Merge branch 'master' of github.com:ccampbell/GitGutter into ccampbell
Merge branch 'master' of github.com:maelnor/GitGutter into maelnor
Merge remote-tracking branch 'refs/remotes/jisaacks/master'

Conflicts:
	git_gutter_handler.py