Fix IOOBE when 'i)' motion doesn't find other delimiter

Found by fuzzing.
Fix KeyHandler crash when using '<' or '>'

The '<' and '>' commands weren't marked with FLAG_OP_PEND even though
they should, which sometimes caused EmptyStackException in KeyHandler
(when typing <I<><I<> for example). Found by fuzzing.
Fix AIOOBE crash when using 'b' on first line

If 'b' were used on the first word of the file, and the word was
preceded by whitespace, ArrayIndexOutOfBoundsException would occur.
Found by fuzzing.
Fix AIOOBE when '(' motion goes past start of file

If first character of the file is a newline, then findSentenceEnd()
could return -2 when the 'previous sentence' motion is performed,
leading to an eventual crash. Found by fuzzing.
VIM-771 Fix semicolon repeat for 'till char' motion

Based on empirical testing with Vim, ';' should work like this:
assuming "<caret>1:a 2:b 3:c" with ':' as the last f/t character:

- "t:" does nothing
- ";"  cursor goes to '2'
- "2;" cursor goes to '2', same as the previous
- "3;" cursor goes to '3'
VIM-723 Fix pasting to an empty line

When pasting on an empty line, the pasted text would go to the start of
next line instead.
Merge remote-tracking branch 'dezgeg/fixes/crashes'
Merge remote-tracking branch 'dezgeg/fixes/vim-771-repeated-semicolon'
Merge remote-tracking branch 'dezgeg/fixes/vim-723-paste-wrong-line'