Internal: ClusterHealthAPI does not respect waitForEvents when local flag is set

It uses a cluster state update task and it gets rejected if not run on a master node. We should enable running on non-masters if the local flag is set.

Also, report any unexpected error that may happen during this cluster state update task
That's how I had it and then Java complains about throwing a throwable without having it in the method signature (I wrapped it here to keep to point the stack trace here)