git add .idea - DON'T PUSH

Just to make fuckin' git diffs sane.
VIM-613 Fix repeat after 'd$'

Previously, repeating a 'd$' command would incorrectly delete the
newline from the line.
VIM-705 Fix repeated multiline indent

When a visual mode command is repeated, code calls into
MotionGroup#toggleVisual() to setup a 'fake' visual mode selection. But
when MotionGroup.moveCaret() is called, it notices that the indent
command has the FLAG_EXIT_VISUAL flag, and leaves visual mode right
away.
VIM-567 Extend :! to allow running non-filter commands

This commit allows the Ex command '!' to be ran without a range, with
the results displayed in a window.

For example, run ':! ls' in normal mode for a quick directory listing.
More useful debug output.
Add tests for case changing operations

Add tests for the following commands:
- gu, gU, g~ in normal mode
- u, U, ~ in visual mode
Add tests for join actions

Test the following actions in both normal and visual mode: J, gJ
Add unit tests for Ex ranges

Adds tests for ranges in Ex commands. Almost every kind of range has
basic tests, except the following are still totally untested:
    - \/, \?, \&
    - register ranges
    - syntax errors in ranges
DONT PUSH - extra tests for {c,d}{w,W,e,E}
VIM-515 Fix cW command detecting end-of-word incorrectly

A cW command on text like 'x$$$$' or '$xxxx' would incorrectly delete
just the first character, and not the rest.
Hacky approach for syncing IntelliJ selection state with internal state.