Close #219 : display mode wrong after recursive changeMode call.

The variable currentMode might have been reset when mode entry changed
the editor mode *again*. Make sure to set the mode of the UI to this
newer mode.

Based on original commit of @igrekster.
Bug: ge and gE should stop at empty lines.
Merge pull request #220 from igrekster/move-word-end-left-bug

Bug: ge and gE should stop at empty lines.
Revert "Use +goto to start gvim."

This reverts commit 00d3aca712ee0c7b0aee36f09ac24d7fc3d9e2ec.
Fix #147.  Add support for line completion (basic support for
InsertExpandMode).
Update unstable update site.
setCaretOffset doesn't affect the selection but causes issues with the sticky column in visual modes.
Bug: resumeOnEnter in the insert mode is not being cleared.
Merge pull request #223 from igrekster/clear-resume-on-enter

Bug: resumeOnEnter in the insert mode is not being cleared.
Merge pull request #222 from igrekster/unneeded-set-caret

setCaretOffset doesn't affect the selection but causes issues with the s...
Create basic structure for E4 Window Commands Plugin.
Close #221: implement window commands for Eclipse 4 by @igrekster.

Ported code to commands in separate plugin, implemented provider and
keybinding.
Make getCommands() final to avoid confusion by implementers.

UnionStateProvider makes a union of the member variables.
Implementations shouldn't override getCommands() because only the member
variable counts.
Add .gitignore files.
Add feature project for E4 Window commands plugin.
Rename "Window" plugin to "Split Editor" plugin.
Update unstable update site with new Split Editor plugin.
Editor split improvements.

Added wincmd/[v]split command evaluators:

`:wincmd h/j/k/l` - move between splits.
`:wincmd[!] H/J/K/L` - move or clone (with !) editor between splits.
`:[v]split[!] [++nos[hared]]` - split (or detach with !) current editor.
  With `++nos[hared]` option put the new split outside of shared area.

Made splits contained within the shared area by default as it's behaves
more sane this way.

Added more key binding to match VIM.
Handle '%' range specifier in LineRangeOperationCommand.
:s operation should respect `ignorecase` and `smartcase` options.

Also added 'I' flag to override `ignorecase` or `smartcase`.