### Description

From the nodes stats API, we should extract the `thread_pool` stats into their own endpoint. This endpoint can then be non-node-centric, and present a global view of the number of completed, rejected, and failed operations for each of the threadpools in the system.
server/src/test/java/org/elasticsearch/action/admin/cluster/node/stats/NodeStatsTests.java
IndexingPressureStats indexingPressureStats = null;
        if (frequently()) {
            long maxStatValue = Long.MAX_VALUE / 5;
            indexingPressureStats = new IndexingPressureStats(
                randomLongBetween(0, maxStatValue),
                randomLongBetween(0, maxStatValue),
                randomLongBetween(0, maxStatValue),
                randomLongBetween(0, maxStatValue),
                randomLongBetween(0, maxStatValue),
                randomLongBetween(0, maxStatValue),
                randomLongBetween(0, maxStatValue),
                randomLongBetween(0, maxStatValue),
                randomLongBetween(0, maxStatValue),
                randomLongBetween(0, maxStatValue),
                randomLongBetween(0, maxStatValue),
                randomLongBetween(0, maxStatValue),
                randomLongBetween(0, maxStatValue),
                randomLongBetween(0, maxStatValue),
                randomLongBetween(0, maxStatValue),
                randomLongBetween(0, maxStatValue),
                randomLongBetween(0, maxStatValue),
                randomLongBetween(0, maxStatValue)
            );
        }
        return new NodeStats(
            node,
            randomNonNegativeLong(),
            nodeIndicesStats,
            osStats,
            processStats,