ExistsLikeFilter *should* (untested) now support multi-table filters like function-ref (which serves here as an example).

Also...
* Switch alias_count to return entire aliases, not just numbers, so we don't have to repeat the concatenation all over the place.
* Introduce LocalNamer to support multi-tableness in ExistsLikeFilter. It's like hygienic macros but with SQL!
Sketch a UnionFilter that support positive (so far) subfilters.
Sketch a UnionFilter that supports negated terms.
Turn the whole query system right-side-out.

* DXR's query machinery has been inside out from the moment it was born. Rather than looping through all existing filters and asking each to take its bite out of the query, we now loop over query terms and dispatch to each filter based on the filter name the parser detects. This enables us to write a UnionFilter without going crazy. So `filters` becomes a dict, the `param` moves into the dict key, filters deal with only a term at a time, and filter() returns one tuple rather than yielding several.
* Have QueryVisitor spit out a list of term dicts rather than nesting them all into a bigger dict by filter type.
* Break TrigramSearchFilter into 2 classes: one for text and one for regexes.
* Teach results() about join clauses.