Make ace-jump char motions behave analogously to find-char motions (fix #315).

Both motions (`evil-ace-jump-char-mode` and
`evil-ace-jump-char-to-mode`) are now inclusive if the target is after
the start position and exclusive if it is before the start
position. Furthermore, `evil-ace-jump-char-to-mode` moves point not
directly on the target character but one position before (if forward
jump) or after (if backward jump) the target character. This makes
both motions behave similarly to the standard find-char motions
f,F,t,T. However, operators used with these motions may not be
repeated because the target character is highly context dependent and
there is no known reliable way to reproduce such a motion.
Merge fix for #315.
Remap cursor keys and return correctly in undo-tree selection mode (fix #311).
Add integration code for `company`.

--HG--
extra : amend_source : 308ba30929a2fa61587f7437874d5471016116f2