Make _exists_/_missing_ behave consistently with exists/missing.

`_exists_` and `_missing_` miss field name expansion that `exists` and
`missing` have, which allows these filters to work on `object` fields.

Close #5142
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.
Add thrid party license generation profile
Changed the caching of FieldDataSource in aggs to be based on field name + required Value Source type as a combi key (used to be only field name). This fixes a problem where multiple aggregations where defined on the same field, yet require different types of value sources.

Closes #5190
Disable RAM usage estimation on Lucene 3.x segments.

Close #5201
Add "locale" parameter to query_string and simple_query_string

Fixes #5128

Remove java 7 specific Locale functions, add "coming[1.1.0]" to documentation

add LocaleUtils utility class for dealing with Locale functions
Fix yamlBuilder() to return YAML builder instead of SMILE

Closes #5185
Remove useless URL instanciation
Fix possible exception in toCamelCase method
Fixed an issue where and IndexOutOfBoundsException was thrown when a date_/histogram aggregation was defined on unmapped field and also had a sub aggregation. The root cause there was that in such case, the estimated bucket count was 0, and the code was not designed to handle that well.

Closes #5179
Document the indices segments response format.
Fixed per-field forceSource highlighting option

Closes #5220
Fixed field names returned when using wildcard expression to specify fields to highlight

Closes #5221
Fixed multi term queries support in postings highlighter for non top-level queries

In #4052 we added support for highlighting multi term queries using the postings highlighter. That worked only for top-level queries though, and not for multi term queries that are nested for instance within a bool query, or filtered query, or a constant score query.

The way we make this work is by walking the query structure and temporarily overriding the query rewrite method with a method that allows for multi terms extraction.

Closes #5102