Discovery: Update ZenDiscovery fields via the cluster service update task.

On join, update the latestDiscoNodes, master flag and fault detection via a cluster state update task.

This should prevent rare concurrency issues, where during a join the cluster state master node can't be seen from the join thread.
AtomicBoolean for success will make this simpler too.