Sort files and folders

This fixes #85.
Fix hyperlinks for members in a constructor's initialization list.

Previously in code like:
struct MyClass {
	MyClass();
	int my_member;
};
MyClass::MyClass() :
  my_member(42) {}

the last "my_member" would not be hyperlinked.
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.
Minor clean up to the clang plugin makefile
- Use "llvm-config --cxxflags" and "llvm-config --ldflags"
- Add -Wno-strict-aliasing for GCC
- Don't pass -shared to the linker twice
- Use $(RM) instead of "rm -rf"
Merge Bruce's sorting of folder listings. Closes #86.
Merge 'abbeyj/member-init-links' into testing. Closes #87.
Clean up clang plugin makefile. Closes #88.
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.