update.sh: specify configuration file to dxr-index.py

This is so both are guaranteed to fetch the settings from the
same place.
clang: canonicalize class declarations straight away

The clang plugin used to generate distinct "type" entries in the
csv files for declarations like:

class FooBar;

And the indexer plugin would normalize those to point to the
real definition of the class. This step is now done directly
in the clang plugin, as it's less guess work and the data can
make it directly to the database.
dxr: Handle empty extents more gracefully

Don't raise an exception if a link tuple has no extents,
just don't add the link.
dxr: Store extents for types/functions/variables

Those were previously just stored in memory for HTML generation,
keep that data stored in the database too for the link generation
phase.
dxr: ensure sidebar tuples get the scope name

a sqlite3.Row isn't quite a dict, so the "'sname' in df" check
was spuriously returning false.
www: Don't fail fetching text from generated files

Do not raise an exception if a query happened to hit a
generated and deleted file which couldn't make it to
the FTS table. Whether those files have a presence in
the DB or not is still debatable.
dxr: Fix link hrefs when other tags apply

The HTML generator was tripping up if a link applied to
an offset that was added previously some HTML tags, so
use the original string in order to create the link href.
www: prepare for search query redirections

if there's a "string" parameter in the GET variables when
displaying a generated HTML file, it will be taken as a hint
that the url is being displayed due to a search that provided
it as a direct result, so a box will be shown letting the user
get the search results themselves.
www: Redirect to files and type/function definitions on exact matches

If the string being searched matches exactly with a filename or
type/function definition, redirect directly there, the HTML files
will show a hint box to let the user do the search if it was really
meant.
www: improve case insensitivity in sidebar results

Some direct (case sensitive) string matching was being used
for the results, have it done on normalized strings.
dxr: optionally display the type list

The left hand list in the code view is now optionally displayed,
with a small -/+ button above to toggle visibility. Indexing
plugins may choose to collapse the type list for a generated
html file by default or not.
clang: collapse the type list by default for .c/.cc/.cpp files
www: Show link to macro definition the info popup
www: sort items in the type list alphabetically
update.sh: support relative paths on the config file location
dxr: generate links to header files on #include directives
www: Do not use dojo widgets in the information popup

It's been replaced by HTML/CSS/JS.
www: strip leading/trailing whitespaces before splitting search terms

This fixes an exception if the search term contains those characters,
as it was leading to a malformed NEAR usage in FTS queries.
www: Handle nonexistent reference IDs more gracefully
www: enable search on click for code comments

Now clicking on a word in a code comment will start a search for that
term in the same tab.