fix: #108: handle :colorscheme

By convention, most colorschemes clear highlight definitions
when they are loaded, so if user switches colorschemes at runtime,
we must re-initialize the plugin highlight definitions.
check explicitly for &iminsert == 1

- we support keymap/:lmap, _not_ Input Method (IM)
fix #111: document alternatives to s/S
document sneak#reset(), sneak#wrap(), sneak#is_sneaking()

fix #84
fix #114
Map ; and , as "all-or-none".

Before this change it was possible to have , and \ _both_ mapped to
<Plug>SneakPrevious in _different_ modes (eg, "\" in normal mode and "," in
visual and operator mode). That's really unlikely to be desirable. Instead,
either map _all_ modes _or_ require the user to specify a explicit mappings.
fix: highlight color is muddled on 256-color terminals
provide sneak#cancel()

ref #106
fix #106: <esc> should cancel sneak

- press <esc> to clear highlighting and cause sneak#is_sneaking() to
  return false (0).
- <esc> mapping is temporary and will be removed immediately after,
  so terminal Vim will not be confused.
- sneak will not create the temporary <esc> mapping if you already
  mapped something else to <esc>.
fix #116: let <esc> pass through after handling.
do not add to jumplist on consecutive invocations.

ref #88 / thanks @lydell
doc: correct usage of "inclusive"/"exclusive"

Vim does not consider `t` to be an exclusive motion; we should be
consistent with the Vim documentation.
provide sneak#state() and expose rptreverse. fix #119
fix #121: F/T should be exclusive; also fix {op}vF and {op}vT

Sneak_f and Sneak_t are now fully compliant with Vim's built-in f/t
inclusive/exclusive behavior (see :help inclusive).
Update README.md
Add Makefile for `make test`
Merge pull request #124 from blueyed/makefile-test

Add Makefile for `make test`
minor cleanup
Merge remote-tracking branch 'upstream/master'

Conflicts:
	doc/sneak.txt
	tests/test.vader