### 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
}
        public String[] getPolicyNames() {
            return policyNames;
        }
        @Override
        public ActionRequestValidationException validate() {
            return null;
        }
        @Override
        public void writeTo(StreamOutput out) throws IOException {
            super.writeTo(out);
            out.writeStringArray(policyNames);
        }
        @Override
        public int hashCode() {
            return Arrays.hashCode(policyNames);
        }
        @Override
        public boolean equals(Object obj) {
            if (obj == null) {
                return false;
            }
            if (obj.getClass() != getClass()) {
                return false;
            }
            Request other = (Request) obj;
            return Arrays.equals(policyNames, other.policyNames);
        }
    }
    public static class LifecyclePolicyResponseItem implements Writeable {