Integrate guides full text search.

Initial version of the UI - the search results are combined with
API search and shown in the same old dropdown.  This means there
isn't quite enough room to show the full context of full text search
matches and the search is also slower, but it fits nicely to the
current UI.  Plus it was easy to implement.

The most questionable part is how the guide results are placed inside
API search results.  I'm drawing some arbitrary lines between the
scores given by guides search to split the results into boxes like
the API search does.
Add --search-url and --search-domain options.

Only activate the external guides-search when --search-url option
is used.  Otherwise fall back to old search.
Let server side handle search results HTML escaping.

Mike fixed the server side escaping, so we don't need this hack any more.
Merge branch 'guides-search'
Use full classnames as tab titles.

Previously it depended on whether you viewed classes by package or
by inheritance.
Move #shortName and #packageName to ClassRegistry.

We're going to use #shortName also inside Tabs class and want to
share the code. #packageName is a related function and should be
together with #shortName.
Add tooltips to tabs to show the full name.

For classes we now always show the short name in tab title and full
name in tooltip.

For guides/videos/examples the title and tooltip are the same, with
tooltip providing a way to see the title when it's too long to fit
on the tab.

Fixes: #369