Aggregations cleanup

- removed an abstraction layer that handles the values source (consolidated values source with field data source)
- better handling of value parser/formatter in range & histogram aggs
- the buckets key will now be shown by default in range agg
[TEST] replaced cluster().wipeIndices|wipeTemplates calls with immutableCluster().wipeIndices|wipeTemplates
[TEST] move SuggestSearchTests to make use of default number of replicas randomization (based on number of data nodes)
[TEST] fixed TestCluster size() javadocs
[DOCS] fixed transport client link in java api docs
[TEST] replaced cluster().size() calls with immutableCluster().size
[TEST] moved dataNodes method to ImmutableTestCluster base class, replaced cluster().dataNodes() calls with immutableCluster().dataNodes()
[docs] Indices stats groups in nodes api

Closes #5349
Add cluster_name to cluster_state

Today the clusterstate is not asssociated with the cluster_name which is odd
since it's pretty much it's only valid identifier. Any node can send a cluster
state to another node today even if it's not the same cluster. These situations
can happen rarely during tests or even in the wild by accident.
Discard new cluster state if the clustername doesn't match

Closes #5622