### Description

Implement health indicator for shard allocation.
This indicator should have same or similar behavior to existing health endpoint.

Aspects to be considered:
* nodes scheduled for reboot should not cause cluster to go yellow (but could cause it go red)
* huge number of unallocated shards should not cause response bloat.
* consider showing allocation explain if possible

Rel: TBD
server/src/main/java/org/elasticsearch/node/Node.java
).stream()
                )
                .collect(Collectors.toList());
            ActionModule actionModule = new ActionModule(
                settings,
                clusterModule.getIndexNameExpressionResolver(),
                settingsModule.getIndexScopedSettings(),
                settingsModule.getClusterSettings(),
                settingsModule.getSettingsFilter(),
                threadPool,
                pluginsService.filterPlugins(ActionPlugin.class),
                client,
                circuitBreakerService,
                usageService,
                systemIndices
            );
            modules.add(actionModule);
            final RestController restController = actionModule.getRestController();
            final NetworkModule networkModule = new NetworkModule(
                settings,
                pluginsService.filterPlugins(NetworkPlugin.class),
                threadPool,
                bigArrays,
                pageCacheRecycler,
                circuitBreakerService,
                namedWriteableRegistry,
                xContentRegistry,
                networkService,
                restController,
                clusterService.getClusterSettings()