Add some default []-returning implementations on the plugin interface.
Do urllink in the new plugin API. Correct some of the problems it revealed.

Rip out Unicode decodes; we'll be passing Unicode in, so we don't need to decode.

I don't actually like how this is turning out. The too-many-objects smell turned out to be telling the truth: you end up paying for what you don't eat when writing a simple plugin. Committing this before trying a more fractal approach.
Correct many docstrings in plugin API. Materialize a TreeIndexer out of thin air if a plugin lacks one: less boilerplate for simple things like urllink.

Tried using context managers to implement pre- and post-build hooks, but it ended up being no easier to write, and indeterminate numbers of nested context managers are awkward to invoke.
Make urllink notionally line-based.

Of course, its attr names don't match with the FileIndexer constructors, so it doesn't work yet.