Add links for references to class templates.
Add links for the base class of a class template when the
base class is also a template and dependent on the type
parameters of the derived class template.
Add links for template parameters
Add the omniglot plugin, which can provide links to blame for both hg and git.

This changeset is a partial fix for bug 842641.

--HG--
extra : rebase_source : d99e59def249fe23ff99bab49c783e6b791e3752
Hide the popup menu when the user follows a link
Fix js highlighting
Fix js highlighting
Use pygments for C++ syntax highlighting
Fix typo and line length
Remove hg plugin, which is largely obsoleted by omniglot. Fixes bug 920131.

We leave the note-blame (etc.) styles in the CSS alone for now, as we might reintroduce inline blaming in the future.
Reduce token-type lookups to a single hash lookup rather than a series of linear searches.
Standardize the style of the pygmentize plugin.
Add better syntax highlighting for JS. Fixes bug 758631.
Use extents for macros instead of the old line+col scheme.
This is now consistent with all other references and simplifies
the code in build.py
Negated words with an underscore in a query weren't filtering
the matching lines out of the results.
Use self.found_nothing in tests.
Make negated words act negated. Fix #161.
Merge hiding the context menu after a user clicks something. Fix #153.

This way, the menu doesn't show up if he hits Back.
Change found_lines_eq to understand escaped HTML entities in the expected result
when looking for the corresponding source line.
Don't yield anything for regions