Ignore diff results which aren't actually hunks.

Some people have reported a failure whereby at least one `line` in the
diff results doesn't match the hunk regexp.  I believe, though cannot
say with certainty, that this is due to mismatching newline shenanigans.

However this theory doesn't explain how the failure could occur on a
file without changes, as reported by one person.  Furthermore I think
that the hunk results would have to have double \n characters to cause
this failure, which I don't think would ordinarily occur on Windows or
Unix.

Whatever the reason, this change copes with the situation.
Turn off and on without reloading
Allow user to toggle GitGutter off and on.
Update README with toggling information.
Add comment about other plugins' signs.
Add optional line highlighting.

This uses the `DiffAdd`, `DiffChange` and `DiffDelete` highlight groups.

Based on code by Tobias Pflug <tobias.pflug@gmail.com> (@gilligan).