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
VIM-702 Fix infinite loop on s/$/\r/g

If the replacement contains newlines, the line number of the current
search position needs to be adjusted. Without this, e.g. s/$/\r/g would
get into an infinite loop.
VIM-848 Show line numbers if they are enabled in the settings and there is no 'set number'
Merge remote-tracking branch 'dezgeg/fixes/vim-702-fix-substitute-infinite-loop'
Updated changelog
Version 0.39
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().
Merge remote-tracking branch 'upstream/master' into yz/shift_selection_20140801