Make ; and , skip adjacent characters when repeating t or T (fix #312).

The old behaviour of ; and , after t or T was to repeat that command
literally which caused point not to move. The latest Vim version now
support a configuration option cpo-; that causes the repeat command to
skip an adjacent character. This change enables this behaviour in Evil
given that `evil-repeat-char-to-skip-next` is set to non-nil (which is
the default).

--HG--
extra : amend_source : 69991678b11e9742595855ccebfdebc6b36fcfbf
Ensure `evil-save-state` resets the original buffer when finished (fix #319).

This macro restores the original buffer state after its body has
finished. However, if that body code changed the current buffer then
the state is changed back in the wrong buffer (i.e., the new
buffer). This changeset ensures that the state is restored in the
original buffer (i.e., the buffer which was current the
`evil-save-state` macro was used).

This bug came apparent when using `describe-char`, which uses
`evil-with-state` which in turn uses `evil-save-state`. The body of
`describe-char` is always executed in Emacs state. When used with
`help-window-select` set to non-nil, then the current buffer is
changed to the help window from within `describe-char`, so the old
state is restored in the help buffer instead of the invoking buffer
and the invoking buffer remained in Emacs state.
Bump version to 1.0.7
Merge stable-1.0