add version and master_node flags to cluster state
[TEST] Fixed delete/50_refresh REST test to work against multiple nodes

delete/50_refresh tests per shard refresh using refresh:true in delete api. We might run into troubles though if we have a replica that gets initialized after a doc was indexed and deleted, without a refresh, as that doc won't be found when searching against that specific replica shard (as a refresh happens automatically before a replica gets exposed as started).
[DOCS] Added a table with 0.90/1.0 compatibility and corresponding instructions
[TEST] Add basic test for /cat/shards/{index}

Basic REST test for rendering the cat/shards endpoint.
[TEST] Fixed get_source/60_realtime_refresh REST test to work against multiple nodes

Replaced also wait for yellow with wait for green when using no replicas.

get_source/60_realtime_refresh tests per shard refresh using refresh:true and realtime:true in get api. We might run into troubles though if we have a replica that gets initialized after a doc was indexed without a refresh, as that doc will be found when searching against that specific replica shard (as a refresh happens automatically before a replica gets exposed as started).
[TEST] moved routing REST tests to 0 replicas

REST tests get run against either 1 node or multiple nodes. Wait for yellow with replicas>0 is not enough when running against multiple nodes as replicas shard might get initialized  during testing, which can cause timing issues.
[TEST] Added REST tests for _cat/thread_pool endpoint
[TEST] fixed typo in _cat/thread_pool docs
more AbstractRestResponseActionListener in RestThreadPoolAction (cat api)
[TEST] Made cat.count REST test more readable
Fix AndDocIdSet#IteratorBasedIterator to not violate initial doc state

AndDocIdSet#IteratorBasedIterator was potentially initialized with
NO_MORE_DOCS which violates the initial state of DocIdSetIterator and
could lead to undefined behavior when used in a search context.

Closes #5049
[DOCS] adding a note on python client versioning schema
Migrating NodesInfo API to use plugins instead of singular plugin

In order to be consistent (and because in 1.0 we switched from
parameter driven information to specifzing the metrics as part of the URI)
this patch moves from 'plugin' to 'plugins' in the Nodes Info API.
[DOCS] Add GitHub community river plugin
Made possible to dynamically update `discovery.zen.publish_timeout` cluster setting

`discovery.zen.publish_timeout` controls how long the master node is going to try and wait for all the nodes to respond to a cluster state publish before going ahead with the following updates in the queue (default 30s). Up until now changing the settings required restarting each node. The setting is now dynamic and can be changed through the cluster update settings api.

Closes #5063
Remove `custom_score` and `custom_boost_factor` queries

`custom_boost_factor` and `custom_score` were deprecated in `0.90.5`
and their documentation was removed already in `1.0`. This commit
removes all support for those queries since they are supercede by
`function_score`.
[Docs] Remove `custom_score` from documentation and add a migration
section.
[DOCS] Fix typo in rename_pattern in snapshot/restore documentation
Added test #5078
[DOC] Updated the Ruby gem version for Elasticsearch 0.90.x