Linkify macro arguments when they are a reference to something
or a declaration/definition of something.
Merge branch 'master' of github.com:abbeyj/dxr into linkify-macro-arguments
Fix references to methods on templated classes.
The comparison of the definition qualname against the reference qualname
was failing for these because the definition would have no template
parameters (e.g. vector::size()) and the reference would (e.g.
vector<int>::size()).  These checks were only added to deal with a
rare case where macro expansion lead to two different references having
the same location and no extents.
Add test for member functions of template classes.
Change found_lines_eq to understand escaped HTML entities in the expected result
when looking for the corresponding source line.
Fix a possible uninitialized read of `target`.

Thanks to abbeyj for noticing the compiler warning.
Make build_lines() PEP-8-compliant so I can stop being distracted while mucking with it.
len(seq) > 0 --> seq
Add a couple comments assuaging and cementing my confusion.
Fix some whitespace in the file template.
Rewrite build_lines so we no longer emit misbalanced tags and to support overlapping and line-spanning regions.

Add support for overlapping regions (not refs, because that would be a UI problem). Preserve the semantics of interleaved refs by translating to an equivalent balanced series of tags. This lets plugins be less coupled with each other: deployers no longer have to worry about which plugins get along with each other: even if we use different tokenizers for a language (as we do with clang and pygments), build_lines will reconcile their token boundaries.

It's also got test coverage now.
Filter out zero-width tag spans.
Get html_lines working. Get first end-to-end test of build_lines working.
Make TagWriters emit unicode, to go with the rest of the output source code.
Simplify tag_boundaries.

There's no need to chain all that stuff together, keeping regions and refs contiguous; we're going to sort it afterward anyway.
Add an explicit sort order for keeping Lines outermost and Refs next outermost.
Make HTMLification of line-spanning tags work. Switch to a slice-based coordinate system.

The slice-based coordinates save code, as it turns out, and make tag balancing easier to get right, as we can just go ahead and yield reopening tags for temporary closers at the same offset as the temp closer. The old indexing scheme didn't like such overlaps of start- and endpoints.

Make html_lines tolerate Lines that aren't outside all the tags on the line. That saves a lot of painful complexity in the tag balancer, all in O(n).
Add annotation support, and integrate the new region resolver back into the rest of the system.

* Make html_lines emit Markup objects.
* Remove an assert that should no longer be forbidden with the slice-based indexing scheme.
* Make annotations come out of the plugins in line order so we can just use merge() on them.
* Stop passing line numbers into the template; it can figure those out itself.
Add more console output during worker pool initializiation.

I had yet another no-CPU hang and want to be able to narrow down the cause next time.
Fix a line_boundaries() crash when there aren't any tags.