Get rid of the need to say `file = __file__` in each DxrInstanceClass subclass.
Add `build` dir to .gitignore. It sometimes pops up while doing Python package installation.
Remove unused imports from dxr-build.
Style
Move most of dxr-build into a module so we can call it from the test harness without a trip out to the shell.

This will help us obviate the need for makefiles in test environments.
Add `dist` to .gitignore.
Find dxr-worker.py even if the package is installed and the executable is nowhere near the dxr module.
Rename build() to build_instance().
Find dxr-worker.py even if we're installed as a development egg.

Finding binaries is hard. Let's go multiprocessing. ;-)
Style
Don't pass the Config object quite so deeply into the stack (to load_template_env or _fill_and_write_template, in particular).

This is a step on the way to being less coupled to the Config object, so we don't have to have concrete conf files in our test envs.

Also, turn config objects into new-style classes.
Merge testing branch into my better-testing branch, just to bring the latter up to date.

Man, these names are confusing. Really need to rename these branches.
Rename Config.template to Config.template_folder, because that's what it represents.
Move dxr-worker inside the dxr package so we can find it reliably.