sourceiter: check movements before continuing
sourceiter: check movements before continuing

When moving through the buffer, we can have a situation where the edges
of the buffer are invisible, and therefore _is_start() will return FALSE
but the movement we performed did nothing (and left us at the visual
position of 0:0 or -1:-1).

This fixes that situation by checking the return value of those
movements and bailing as we would otherwise.

Fixes #76

GNOME/gtksourceview,GNOME/gtksourceview,GNOME/gtksourceview,GNOME/gtksourceview,GNOME/gtksourceview,GNOME/gtksourceview,GNOME/gtksourceview,GNOME/gtksourceview,GNOME/gtksourceview,GNOME/gtksourceview,GNOME/gtksourceview,GNOME/gtksourceview,GNOME/gtksourceview,GNOME/gtksourceview,GNOME/gtksourceview