Introduce a testrunner that dynamically makes a DXR instance, for simple, single-file test fixtures.

* Pass -s to nosetests by default so we can see output and pdb breakpoints.
* Rename old test files so they're more uniquely named and thus findable in LaunchBar.
Port callers and called-by tests to the new harness. This lets us delete hello.h.

Also switch assert_query_includes to check the full set of returned results. I think the inclusion thing was a bowing to overly tight fixture coupling. Rename it for consistency with found_line_eq.
Port member tests to the new harness, etc.

Rename json-test/HelloWorld to "code" so all the tree names in the tests are the same and we can just hard-code "code" in the search URL search_results() uses.

This lets us remove the "*member*" and "BitField.h" files from json-test. Now we're getting somewhere.
Make test harness good. https://wiki.mozilla.org/Better_DXR_Testing

Now it's easy to make a new test: no FS boilerplate. As a result, there's much less temptation to couple them together.

You can still have the testrunner spit out a DXR instance to the FS so you can serve it up and play with it (should_delete_instance = False).

Ported a bunch of the json-test tangled ball to the new harness. There's still more to come, but we might as well merge what we have so folks can write good tests for new features.
Port macro tests to new runner. Delete 4 icky files.
Port const function tests to new harness.
Port typedef tests to new harness.

Put a dedicated empty file in json-test to test by-extension searches against.
Port prototype param test to the new harness.
Rename tests_function. Oops.
Rewrite testing documentation to cover the new infrastructure.
Rename json-test to test_basic, since it has nothing to do with JSON anymore (at least not anymore than any other test does).

Rename ignore-test to test_ignore, too, for consistency with the names of test modules.

Do some chdirs in Python rather than in shell, because this commit otherwise causes mysterious "sh: 0: getcwd() failed: No such file or directory" errors to happen. This also solves an escaping bug quite nicely, though I still want to stop shelling out altogether eventually.