### 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
x-pack/plugin/shutdown/src/main/java/org/elasticsearch/xpack/shutdown/TransportPutShutdownNodeAction.java
request.getNodeId()
                                    ),
                                    e
                                );
                                listener.onFailure(e);
                            }
                        });
                } else {
                    logger.trace(
                        "not starting reroute after registering node ["
                            + request.getNodeId()
                            + "] for shutdown of type ["
                            + request.getType()
                            + "]"
                    );
                    listener.onResponse(AcknowledgedResponse.TRUE);
                }
            }
        }, newExecutor());
    }
    @Override
    protected ClusterBlockException checkBlock(PutShutdownNodeAction.Request request, ClusterState state) {
        return state.blocks().globalBlockedException(ClusterBlockLevel.METADATA_WRITE);
    }
    @SuppressForbidden(reason = "legacy usage of unbatched task") 
    private static <T extends ClusterStateUpdateTask> ClusterStateTaskExecutor<T> newExecutor() {
        return ClusterStateTaskExecutor.unbatched();
    }
}