Ref T9890. Ref T9979. Several adjacent goals:
- The SearchEngine vs ApplicationSearchEngine thing is really confusing. There are also a bunch of confusing class names and class relationships within the fulltext indexing. I want to rename these classes to be more standard (IndexEngine, IndexEngineExtension, etc). Rename SearchIndexer to IndexEngine. A future change will rename SearchEngine.
- Add the index locks described in T9890.
- Structure things a little more normally so future diffs can do the "EngineExtension" thing more cleanly.