vim: Fix swapped parameters for select_range()

The order does not matter in most cases, except on empty lines; there
the selected character will be the new line, and by moving the insert
iter rather than the selection-bound iter to the next line, the current
line is changed.

https://bugzilla.gnome.org/show_bug.cgi?id=737971
vim: Implement exclusive-motions exceptions

Commit 83e31754aa30b83 added basic support for exclusive motions, but
unfortunately vim's behavior is a bit more complicated than that:
Exclusive motions may become inclusive or linewise under certain
circumstances [0].

[0] http://vimdoc.sourceforge.net/htmldoc/motion.html#exclusive

https://bugzilla.gnome.org/show_bug.cgi?id=737971
vim: Add support for paragraphs forward/backward motions

https://bugzilla.gnome.org/show_bug.cgi?id=737971