GtkTextIter: add GTK_TEXT_SEARCH_ENTIRE_WORD_ONLY flag

Create the forward_search() and backward_search() functions, that
doesn't take the new flag into account, so it is mainly a copy/paste
from the previous code of gtk_text_iter_forward_search() and
gtk_text_iter_backward_search(). The parameters are slightly different,
to avoid recomputing the same thing at each call.

So to check if the match is an entire word, we first do a normal search
(with the other flags), and then we check if it's an entire word. There
is a loop to search the next normal match if the match was not an entire
word.

This permits to not complicate further forward_search() and
backward_search().

Another thing, part of the documentation has been moved to the enum,
which is a better place IMHO.

And unit tests have been written for the new flag.