Implement zero downtime reindexing (see details in [the RFC](https://github.com/umbraco/rfcs/blob/0027-the-future-of-search/cms/0027-the-future-of-search.md#full-re-indexing-versus-partial-index-updates)). Likely includes some kind of queueing (in-memory?) to handle concurrency if save/publish happens while reindexing.