### Description

Clusters can have thousands of ILM policies. 
`GET _ilm/policy` returns all of them and runs on the master node.

This proposes we chunk the response for better memory usage and clients experience.

Relates to https://github.com/elastic/elasticsearch/issues/96568
x-pack/plugin/core/src/main/java/org/elasticsearch/xpack/core/ilm/action/GetLifecycleAction.java
private String[] policyNames;
        public Request(String... policyNames) {
            if (policyNames == null) {
                throw new IllegalArgumentException("ids cannot be null");
            }
            this.policyNames = policyNames;
        }
        public Request(StreamInput in) throws IOException {
            super(in);
            policyNames = in.readStringArray();
        }
        public Request() {
            policyNames = Strings.EMPTY_ARRAY;
        }
        @Override
        public Task createTask(long id, String type, String action, TaskId parentTaskId, Map<String, String> headers) {
            return new CancellableTask(id, type, action, "get-lifecycle-task", parentTaskId, headers);