Resilient indexers

Also: clean up configuration options, make re-indexing aware of individual backends, and add re-indexing completion estimates.
If this method is called directly it still needs the @TransactionalReadOnly annotation. These annotations are only evaluated when called from an external reference.  The "this" reference is "bare" and does not have the needed proxies that do the transaction handling.