Transforms can be configured to search incredibly broad index patterns. These cause the lower level actions used by transforms to iterate huge numbers of shards unless measures are taken to restrict which shards are considered using information available in cluster state.

Anywhere where transforms calls an action that iterates shards it must use the `index_filter` functionality of that action to reduce scope. Calls to be changed:

- [x] Field caps
- [x] Creating PIT readers - requires #99740 be implemented as a pre-requisite
x-pack/plugin/transform/src/main/java/org/elasticsearch/xpack/transform/transforms/ClientTransformIndexer.java
public void applyNewSettings(SettingsConfig newSettings) {
        if (newSettings.getUsePit() != null) {
            disablePit = newSettings.getUsePit() == false;
        }
        super.applyNewSettings(newSettings);
    }
    @Override
    protected void doNextSearch(long waitTimeInNanos, ActionListener<SearchResponse> nextPhase) {
        if (context.getTaskState() == TransformTaskState.FAILED) {
            logger.debug("[{}] attempted to search while failed.", getJobId());
            nextPhase.onFailure(new ElasticsearchException("Attempted to do a search request for failed transform [{}].", getJobId()));
            return;
        }
        if (getNextCheckpoint().getCheckpoint() != pitCheckpoint) {
            closePointInTime();
        }
        injectPointInTimeIfNeeded(
            buildSearchRequest(),
            ActionListener.wrap(searchRequest -> doSearch(searchRequest, nextPhase), nextPhase::onFailure)
        );
    }
    @Override
    protected void doNextBulk(BulkRequest request, ActionListener<BulkResponse> nextPhase) {
        if (context.getTaskState() == TransformTaskState.FAILED) {
            logger.debug("[{}] attempted to bulk index while failed.", getJobId());
            nextPhase.onFailure(new ElasticsearchException("Attempted to do a bulk index request for failed transform [{}].", getJobId()));
            return;
        }
        ClientHelper.executeWithHeadersAsync(
            transformConfig.getHeaders(),