[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