use elasticsearch "plugin" to determine current cluster state w/respect to data nodes

* use it to keep the most current map of nodes in memory for quick and easy access
* implement a blocking way to get notified whenever the cluster comes back
* extend Cluster#isConnectedAndHealthy to include deflector state in check (to prevent writing when the deflector is missing)

fixes #828