Add mustache templating to query execution.

Adds support for storing mustache based query templates that can later be filled
with query parameter values at execution time. Templates may be both quoted,
non-quoted and referencing templates stored in config/scripts/*.mustache by file
name.

See docs/reference/query-dsl/queries/template-query.asciidoc for templating
examples.

Implementation detail: mustache itself is being shaded as it depends directly on
guava - so having it marked optional but included in the final distribution
raises chances of version conflicts downstream.

Fixes #4879
Fixing license headers.
[TEST] Added whitespaces after brackets, colons and commas in nested percolator test.
The seed format is suite:method, clarified it in the docs.
[DOCS] Included the `_percolator` index breaking change to migration docs.
[TEST] Removed whitespace between } and ,
Wait for REST Service to start

When running tests for site plugins, it could happen that the REST Service is not fully started and not ready immediately to serve HTTP requests.
It gives `503 Service Unavailable` error in that case.

This patch will gives 5 seconds before failing the test.