buffer: add set_search() and clear_search() API

There are also properties defining the state of the search.

The implementation is in the new private class GtkSourceSearch, to try
to keep the GtkSourceBuffer small.