Fix String.format to use Locale.ROOT in RestRecoveryAction
Fixed test cluster scope to be able to run it multiple times if needed
Added ack call when the cluster state has not changed

The missing call could cause a cluster state update to hang in case there is no change no apply
Added support for acknowledgement in update index settings api

Added support for serialization based on version to AcknowledgedResponse. Useful in api that don't support yet the acknowledged flag in the response.
Moved also ack warmer tests to more specific AckTests class

Close #3983
Added support for node acknowledgements in delete mapping api

Closes #3984
Added support for acknowledgements to cluster reroute api

Closes #3985
Added support for acknowledgements to update cluster settings api

As a side note, the internal reroute call is now part of the ack mechanism. That means that if the response contains acknowledged flag, the internal reroute that was eventually issued was acknowledged too. Also, even if the request is not acknowledged, the reroute is issued before returning, which means that there is no need to manually call reroute afterwards to make sure the new settings are immediately applied.

Closes #3995
Improving test stability for CompletionTests

Randomized testing caught an issue showing that the test should
flush after indexing a document, as always the same document is
indexed.
[DOCS] Extending setup as a service documentation

* Tell people to use ES_JAVA_OPTS for es.node.name or similar parameters
* Showing a simple way to install Oracle JDK on ubuntu/debian

Closes #3999
Added getters for fs.path, fs.mount and fs.dev in node stats api

Closes #4004
Merge remote-tracking branch 'upstream/master'
Merge remote-tracking branch 'upstream/master'