### Description

From the nodes stats API, we should extract the `ingest` stats into their own endpoint. This endpoint can then be non-node-centric, and present a global view of the pipelines, processors, and the metrics collected around ingest in general.
server/src/main/java/org/elasticsearch/ingest/IngestStats.java
Iterators.flatMap(
                pipelineStats.iterator(),
                pipelineStat -> Iterators.concat(
                    Iterators.single((builder, params) -> {
                        builder.startObject(pipelineStat.pipelineId());
                        pipelineStat.stats().toXContent(builder, params);
                        builder.startArray("processors");
                        return builder;
                    }),
                    Iterators.flatMap(
                        processorStats.getOrDefault(pipelineStat.pipelineId(), List.of()).iterator(),
                        processorStat -> Iterators.<ToXContent>single((builder, params) -> {
                            builder.startObject();
                            builder.startObject(processorStat.name());
                            builder.field("type", processorStat.type());
                            builder.startObject("stats");
                            processorStat.stats().toXContent(builder, params);
                            builder.endObject();
                            builder.endObject();
                            builder.endObject();
                            return builder;
                        })
                    ),
                    Iterators.<ToXContent>single((builder, params) -> builder.endArray().endObject())
                )
            ),
            Iterators.<ToXContent>single((builder, params) -> builder.endObject().endObject())
        );
    }
    public record Stats(long ingestCount, long ingestTimeInMillis, long ingestCurrent, long ingestFailedCount)