Make '>' not add trailing whitespace to empty lines.
'J' shouldn't add whitespace if there is trailing whitespace
Add some missing key names.
Optimize character case changing operations

Previously, performing e.g. visual '~' on a large file would completely
lock up the IDE. The culprit seemed to be the calls to replaceText() one
character at a time, which is not a cheap operation since each
replaceText() will for example trigger a DocumentChanged event.
VIM-586 Try to invoke Vim shortcuts handler later to restore input events sequence
Merge remote-tracking branch 'dezgeg/fixes/misc-issues'
Merge branch 'invoke-shortcuts-handler-later'
Updated changelog
Don't share editor data contexts

The previous code threw "cannot share data context between Swing events"
throwables from DataManagerImpl$MyDataContext.getData since we used to
share DataContext objects passed to
VimShortcutKeyAction.actionPerformed() and
VimTypedActionHandler.execute() inside AnActionEvent objects with
runnables we invoked via SwingUtilities.invokeLater().
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
DONT PUSH - platform prefix change for Community Edition
FUZZER - FuzzTest is good to go
Move ChangeActionTest.doTest() to VimTestCase.

This method is convenient in other tests as well.
Add tests for case changing operations

Add tests for the following commands:
- gu, gU, g~ in normal mode
- u, U, ~ in visual mode
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
Add testcase for '>' in visual block mode