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.
VIM-818 Enable key repeat on Mac OS X every time it gets reset by the OS
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'
VIM-410 Use the standard editor line numbers for supporting 'nu'

Annotations-based line numbers reset all other annotations on caret
move, so the results of VCS annotate are reset all the time. It is
necessary for 'rnu', but for 'nu' we can use standard editor line
numbers and preserve the ability to show VCS annotations during caret
movement operations.
DONT PUSH - git add .idea

Just to make fuckin' git diffs sane.
DONT PUSH - various local changes
DONT PUSH - More useful debug output
DONT PUSH: separate run-tests target in build.xml
DONT PUSH - PIT testing stuff
FUZZER - FuzzTest is good to go
FUZZER - Make sure fuzzer won't open Ex panel.
Make '>' not add trailing whitespace to empty lines.
'J' shouldn't add whitespace if there is trailing whitespace