Regex search
Rename GtkSourceSearch -> GtkSourceSearchContext
Search: rename test programs

test-search -> test-search-context
test-search-ui -> test-search

(I didn't like the name test-search-ui)
New search and replace API, with SearchContext and SearchSettings

The API is more flexible. Before, only one search was possible at a
time: there was a 1:1 relationship between the buffer and the private
Search object. Now it is a 1:N relationship between the buffer and the
SearchContext: it is possible to run several searches at the same time.
And also a 1:N relationship between the SearchContext and the
SearchSettings: it is possible to share search settings between several
buffers.

In summary, it is an indirect many-to-many relationship between the
buffer and the search settings.

       0-N       1-1               1-1       0-N
Buffer ------------- SearchContext ------------- SearchSettings
Doc: sort the classes in gtksourceview-3.0-sections.txt
Adapt the documentation for the new search API
build: sort the tests and unit tests
SearchContext: init found_tag in set_buffer()

With the previous API, the buffer could not be completely constructed
when the Search object was created, so the solution was to call
init_found_tag() a bit everywhere, if the found_tag was not already
initialized.

Now when the buffer is set, we are sure that it is constructed, so we
can directly init the found_tag without problems with the tag table.
SearchContext: add highlight property
Move private buffer functions to gtksourcebuffer-private.h

Instead of having them in a public header. The symbols are anyway not
exported.
Add gtk_source_buffer_disable_search_highlighting()

The buffer must have a list of search contexts. It is done with
_gtk_source_buffer_add_search_context(), and the buffer holds a weak
reference to the context. It must not be the other way around, the
context must have a strong reference to the buffer, because the context
needs the buffer. On the other hand, the buffer can work without search
contexts.
SearchContext: set_settings(): allow NULL to create a new settings

gtk_source_search_context_new() already allows a NULL SearchSettings.
Test programs: re-add search highlighting
SearchContext: take directly search->priv->settings

Instead of calling get_settings(). The priv->settings can not be NULL.
SearchContext: free the found_tag
Remove gtk_source_buffer_disable_search_highlighting()

Not really useful in gedit.
SearchContext: add improvement ideas
Test regex search performances

It seems that for some regexes, it is a O(N^2) complexity :/
SearchContext: small code improvement
SearchContext: don't scan_all_region() in smart sync search

The was a performance problem (O(N^2)) for one of the regex search test.