Simplify and document process().

Expressing it as a lambda makes the autocurry unnecessary.
Gracefully ignore corner-case lines where the loc can be determined but the extent can't. Ref bug 1030312.

This makes all macro tests pass.

We can come back and try to suss something useful out of these later, but we don't in prod.
Feed folder paths to ES as arrays. Fix bug 1087163. Close #358.
Fix an invalid markup test.

Without the trailing slash on the URL, it 404s and so doesn't test anything useful. The 404 in itself is another bug we should fix: bug 1087434.
Add var-decl needles. Add short names to declarations in compiler plugin. Ref bug 1087465.
Add function-decl needles. Ref bug 1087465.
Add type-decl needles. Fix bug 1087465.

That's the last of the decl needles.
Remove the now-redundant test_c_vardecl.

Move its remaining useful "var:" test to test_vars. The "var-decl:" test was already covered by test_decl.
There's no need to smoketest FileToIndex or TreeToIndex now that integration tests cover them very well.

This also removes our only need for mock.
Don't repeat ourselves in the more complicated needle extractions.

Leaving the warning and macro needles alone for now because they're just so darn obvious to read.
Add call needles except for inheritance. Make "callers:" searches work. Fix bug 930911. Fix bug 1082102.

* Modify compiler plugin to emit everything we need. No more concrete call graph needed on the Python side.
* Remove called-by filter. It's stupid and useless.
* "callers:" queries now find actual callsites, not just the functions containing callsites!
* Restore some genexprs that had turned into list comps for debugging.
* Remove callee tests, since we're getting rid of called-by search.

To come: making the rest of the test_callers tests pass
Add a failing test for CSV-finding.
Add new source file to make tests pass. Should have been in d7de9dc3d3120e4283067ce4b6872a765b0838b8.
Make "overrides:" searches work, modulo the inheritance graph.
Fix silly bug in split_into_lines().
Remove two failing unit tests that are now invalid.

test_function tests against an old output format that is no longer in use. test_functions.py covers this.

test_override_needles is covered by test_overrides.py.
Remove dead callee_needles().

We're not supporting callee search anymore. It's of little use. Just read the function to find its callees (in context, too!).
Unskip a test in test_functions, as decl needles are now in place.
Unskip test_cross_file_callers.

We don't have a problem with cross-file calls anymore, since we enhanced the compiler plugin to output both caller and callee info.
Make member searches work. Ref bug 1030312.

* "member" searches for a class no longer find the class: just its members. Hooray! (This is why some tests change.)
* "member" searches now find class-scoped typedefs. Hooray!
* Have compiler plugin emit qualnames for scopes. Remove scopelocs, which are no longer used.
* Switch to a qualified search in test_members so we don't find all the vars scoped to the constructor, which shares the name of the class.
* Remove variable unit test in favor of an integration test. member needles change this contract and invalidate the test.
* Remove dead process_override().
* Stop processing scopes into a special data structure. It wasn't necessary, and the code is simpler without it.
* Remove dead overrides_needles().