Port the build pipeline and test harness to ES. Fix bug 1030309.

Yet to come: request-time dir listing rendering. Right now, you can't see folder listings, but files are fine.
That's nice to know. It can't, though. I actually got caught by `[{}] * 5` before I fell back to this. Rookie mistake!