search engine: first draft of code and also (slightly desynchronized) chapter text!

The current code doesn't support incremental updates. Giving fresh names to fresh merged segments is one of the things it would need in order to support incremental updates. Without incremental updates, this won't be called repeatedly.