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.