Prevent clearing highlight definitions when colorscheme changed
Always remove the sign column when disabling gitgutter.

Previously with `gitgutter_sign_column_always = 1` the sign column would
remain after calling `GitGutterDisable`.  Now the sign column is always
removed when disabling gutter.
Always prevent flicker.

Previously flicker was prevented only when the sign column was
always present.
Use correct filename in auto commands.

This problem was revealed when using BufExplorer:

- Open vim with two files: `$ vim a.txt b.txt`
- Type `\\` to open BufExplorer.
- Press <enter> on `b.txt`.
- Vim shows `b.txt` as expected.
- Type `\\` to open BufExplorer.
- Press <enter> on `a.txt`.
- Expected: Vim shows `a.txt`.
  Actual Vim shows `a.txt`, `b.txt`, `a.txt`.

I.e. the first invocation was fine but all subsequent invocations
rapidly flicked through <new file>, <old file>, <new file>.
Revert "Use correct filename in auto commands."

That commit prevented gitgutter correctly activating on its first run.

This reverts commit 25d428c3900d8f45d2b3f771a734033fb0104262.
Simplify tradeoff between accuracy and speed.

If the plugin slows down your Vim too much, you can have it run less
often by setting `g:gitgutter_eager = 0`.

This replaces the former options `g:gitgutter_on_bufenter` and
`g:gitgutter_on_focusgained`.
Clarify that plugin works with saved buffers.
Clarify FAQ.
Add default mappings.
Prevent error message from showing when s:dummy_sign_id is not set
Update when file modified externally.
Escape shell commands on windows.
Fixed escaping
Now working with shellslash
Merge branch 'issue-84'

* issue-84:
  Now working with shellslash
  Fixed escaping
  Escape shell commands on windows.
Update signs in realtime.

Thanks to @ashb for the help with this.
Update help text.
introduce GitGutterGetHunkSummary for statusline integration.
extract updating hunk summary into another function.
add documentation for GitGutterGetHunkSummary.