Re-indexing optimization

Refactor the class indexers so it's easier to customize for the different classes that we index.
Create an Indexing Strategy for TextFlowTargets that uses a single query with scrollable results, and which eagerly loads all index required fields, vastly reducing the time it takes to index these entities.