improve escaping of user paths

remove usage of if and () blocks as they clashed with user paths containing ()
postpone quotation of variables to prevent double escaping ("")
fix #3906

(cherry picked from commit 1cc095ec32a5b623f88c312f497ac5469887be97)
removed a duplicate paragraphin config docs
Added `num_queries` and `memory_size` stats to percolate stats.

Closes #3883
[DOCS] Added script.disable_dynamic to the scripting page
[DOCS] Added compound_on_flush docs and updated compound_format
docs to include note about accepting a float
Add support for Lucene SuggestStopFilter

The suggest stop filter is an improved version of the stop filter, which
takes stopwords only into account if the last char of a query is a
whitespace. This allows you to keep stopwords, but to allow suggesting for
"a".

Example: Index document content "a word". You are now able to suggest for
"a" and get back results in the completion suggester, if the suggest stop
filter is used on the query side, but will not get back any results for
"a " as this is identified as a stopword.

The implementation allows to set the `remove_trailing` parameter for a
custom stop filter and thus use the suggest stop filter instead of the
standard stop filter.
[Docs] Added a page for the Perl client
[Docs] Typo
Added generic cluster state update ack mechanism

Added new AckedClusterStateUpdateTask interface that can be used to submit cluster state update tasks and allows actions to be notified back when a set of (configurable) nodes have acknowledged the cluster state update. Supports a configurable timeout, so that we wait for acknowledgement for a limited amount of time (will be provided in the request as it curently happens, default 10s).

Internally, a low level AckListener is created (InternalClusterService) and passed to the publish method, so that it can be notified whenever each node responds to the publish request. Once all the expected nodes have responded or the timeoeout has expired, the AckListener notifies the action which will return adding the proper acknowledged flag to the response.

Ideally, this new mechanism will gradually replace the existing ones based on custom endpoints and notifications (per api).

Closes #3786
Put warmer api to support acknowledgements

Added support for acknowledgements in put warmer api using the generic mechanism introduced in #3786

Closes #3831
Delete warmer api to support acknowledgements

Added support for acknowledgements in delete warmer api using the generic mechanism introduced in#3786

Closes #3833
Added simple count down class that allows to be fast forwarded

Closes #3910
Prohibit indexing a document with parent for a type that doesn't have a `_parent` field configured and prohibit adding a _parent field to an existing mapping.

Closes #3848 #3849
[snapshot/restore] Add ability to register snapshot repositories
[snapshot/restore] Add support for Repository Instantiation
[snapshot/restore] Add snapshot creation mechanism
[snapshot/restore] Rename snapshot endpoint to repository
[snapshot/restore] Add snapshot status update mechanism
[snapshot/restore] Add snapshot simple end-to-end snapshotting test
[snapshot/restore] Add basic file system store implementation