vim: Fix selection-bound off-by-one error in forward-word

'w' should move to the start (e.g. first character) of the next word.
The iter we move around indeed corresponds to this position, so the
movements without a selection turns out right - however when using
the iter as selection-bound, the selections extents up to - but not
including - the iter's position. Moving the iter one character further
fixes this, though we temporarily break its use as modifier ('dw') due
to another off-by-one error in the opposite direction.

https://bugzilla.gnome.org/show_bug.cgi?id=737959
vim: Differentiate between inclusive/exclusive motions

Motions are either inclusive or exclusive. While there is no difference
when used standalone, when the motion is used as modifier to a command,
the range of characters the command applies to differs - in case of an
exclusive motion, the command does not apply to the left-most character
described by the motions.
An example probably illustrates it best - with a buffer of 'foo bar baz',
and the cursor at the beginning of the 2nd word:

 - 'de' deletes 'bar' (as 'e' is an inclusive motion)
 - 'dl' deletes 'b' (as 'l' is exclusive)
 - 'dh' deletes the space before 'bar' (as 'h' is exclusive as well)

The current behavior implements the one for inclusive motions, this
patch flags exclusive motions as such and corrects their behavior.

https://bugzilla.gnome.org/show_bug.cgi?id=737959
vim: Support linewise motions

Motions can be either character- or linewise when used as modifiers
to a command. The commands will operate on entire lines when the
motion is linewise, e.g. 'dj' deletes two lines (rather than from
the cursor position to to the same column on the following line).
Add another flag to support this.

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