Move format file inside the dxr package so the indexer can get at it using pkg_resources.

Correct the name of the readme so it gets included in the package.
Remove test_es, which was really more of a spike than a test.
Make test harness ES-savvy.

As a bonus, it now calls build_instance() directly rather than shelling out to dxr-build.

Tell all the test config files to name their ES indices starting with "dxr_test_". We'll remove this and a lof ot other boilerplate when we refactor the config system.

Replace ES_INDEX with ES_ALIASES in the request-time config file. We don't need to know the index names, but we do need to know one alias per tree.
Remove Htmlifier mock, which is no longer needed with the new plugin API.
Change ad hoc TreeToIndex creation to be less closure-ish so those TTIs can traverse process boundaries.
ES-ify the build pipeline. Switch from line-based refs and regions to plain offset-based.

build_instance() now targets both an FS folder (as before) and an ES index. This is a temporary measure. It also uses ES aliases to swap the new index in for any old one when it's done.

Break up build_instance() a little.

I believe I've preserved most of our wacky debugging config options, like disable_workers and skip_stages. One difference in behavior is that a half-built ES index gets deleted iff there's an exception before we finish indexing. Otherwise, they'd just accumulate forever.

No longer swallow IOErrors and such while walking the source tree we're indexing.

Keep ignoring binary files for now; that needn't block deploying ES.

Start expecting refs and regions to be not by-line. This lets us avoid rewriting major, super-hairy portions of the build pipeline (like tag_boundaries), plus it makes most plugins easier to write. We sacrifice theoretical performance optimizations possible with fanciful plugins that really do process a line at a time. Ported urllink, pygmentize, and buglink, and they all got shorter.
Make sure core plugin gets into enabled_plugins.
Depend on pyelasticsearch 0.7.1.

We need this new version for the update_aliases() call.
Use funcy.suppress() to save a few lines.
Port the build pipeline and test harness to ES. Fix bug 1030309. Close #308.