Add `evil-without-repeat' macro.

This macro executes its body without triggering any hooks of the
repeat system. Furthermore the current recording is aborted.
Disable recording of repeat information in ace-jump functions (re #313).

A call to an ace-jump function causes several commands to be executed
interactively (e.g. by additional keystrokes). These commands are
recorded by the repeat system. However, ace-jump motions are not
really repeatable because they do not have a well defined target
position (it's somehow defined by the current visual view of the
buffer and thus highly context sensitive). This fix ensures that no
repeat information is recorded during an ace-jump motion.
Advise `ace-jump-done` to exit recursive edit (re #313).

If ace-jump is interrupted then `ace-jump-mode-end-hook` is not called
causing the recursive edit not being exited properly. Now we use a
combination of a `post-command-hook` and an advice of `ace-jump-done`
which is called to clean up in order to exit the recursive edit.
Fix use of `overriding-local-terminal-map` in emacs trunk (fix #309).

In emacs truck (git:a760a079aba36493e97) the behaviour of
`overriding-local-terminal-map` changed, so we have to use
`overriding-local-map` now.
Bump version to 1.0.6
Merge stable-1.0
Require 'evil-repeat in evil-integration.

The macro `evil-without-repeat` is used for ace-jump.
Don't start recursive edit on direct ace jump (re #315).

When ace-jump has only one target it does a direct jump without
querying for further characters. Thus, in this situation we must not
start a recursive edit. We use the `ace-jump-mode-end-hook`, which is
called in this case, to detect whether the jump is already complete.