VIM-652 Add support for executing and mapping arbitrary IDEA actions

* no tests performed..! *

Example usage:
:nnoremap gi :action GotoImplementation<CR>
:nnoremap gu :action FindUsages<CR>
:nnoremap gcw :action RenameElement<CR>

Action overview:
https://github.com/JetBrains/intellij-community/blob/6c6cb47c5a41025549157d64643a98a89481260d/platform/platform-resources-en/src/messages/ActionsBundle.properties
Implemented :findaction
Fix action execution contexts, use a delay on popup actions to allow the command handler to unwind
Renamed :findaction => :actionlist + added statusbar error message when calling invalid action names
:actionlist added support for wildcards
VIM-511 Fixed editing offset after <BS> for '.' command
Repeat typing commands by inserting text instead of handling a typed key

It will prevent auto-completion and other auto-inserting typed key
handlers from messing up with the repeated text.
Handle left and right motions during key repeat only as document (caret) changes

Previously they have been recorded twice: implicitly by a document
change listener as changes to the caret position and by a command
processor.
Updated CHANGES
VIM-511 Added a test for repeating a change that includes auto-inserted parens and quotes
More tests for VIM-511
VIM-511 Updated test data
VIM-511 Fixed removing a paren just after inserting it with auto-inserting matching parens on
added a failing test
Fix visual block deleting

Currently deleting visual block leaves last char in line untouched. This
patch fixes that as well as tests.
VIM-511 Record caret adjustment changes to the document during <Enter> processing

We have to handle Enter by our VimShortcutKeyAction in order to be
able to record it as an action for repeating it via '.'. Since original
Enter handlers are not run in this case we invoke them manually by
collecting a list of actions that can be run for the editor component
on Enter and then running the first action ready to run.

Caret adjustments are detected on changes to the document caused by
Enter. This allows to position the caret properly (e.g. between {})
before recording Enter.
VIM-792 Fixed line-wise and block-wise paste commands for * and + registers
Normalize offsets in order to prevent selecting newlines
Merge branch 'visual_block_delete'
Updated tests after fixing VIM-501