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
InternalEngine - back to set dirty=false just *before* a refresh is done

reverting: 5553c383bca1f8b5437aa0eb34e291824e9057fb
Mock Transport: Allow to simulate network failures
An infrastructure that allows to simulate different network topologies failures, including 2 basic ones in failure to send requests, and unresponsive nodes
closes #5631
Added trace logging in TransportSearchTypeAction and a delayed verification of test failures in MinDocCountTests.testMinDocCountOnTerms
[BUILD] Switch 1x to JDK7 download

Changed download URL for 1x build to point to JDK7 latest
Do not propagate errors from onResult to onFailure.

The way that SearchServiceTransportAction executes actions on a local node
today would propagate exceptions thrown in onResult to onFailure.

Close #5629
Replaces usage of `StringBuffer` with `StringBuilder` and fixes stray
single quote in the same `PluginInfo#toString()` method.

Closes #5605
[TEST] added ExternalTestCluster that allows to run tests against an external cluster

All the ordinary test operations happen based on the ImmutableTestCluster base class and are executed via transport client. Will be used especially for the REST tests once migrated to the standard randomized runner.

Added new httpAddresses method to ImmutableTestCluster to be able to retrieve the http addresses to connect to for the REST tests. Both versions will look inside the cluster to figure out which nodes are available for http calls and their addresses.

The external cluster is used as global cluster if the tests.cluster system property is available. The property needs to contain a comma separated list of available elasticsearch nodes that will be used to connect to the cluster (e.g. localhost:9300,localhost:9301).

Only a subset of the integration tests can currently be run successfully against the external cluster, for more precision the ones that don't modify the cluster layout (don't require cluster() functionalities but rely only on immutableCluster()). Also at least two data nodes are required otherwise the ensureGreen calls cannot succeed.

Closes #5630
[TEST] delegate to the original transport
[Test] Speed up RandomAllocationDeciderTests
[Test] Speedup RecoveryWhileUnderLoadTests to run with less documents unless tests.nightly=true