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
Restore process should replace the mapping and settings if index already exists

Closes #5210
Open correct (renamed) index on restore

Closes #5212
[DOCS] Fix wrong explanation in configuration.asciidoc

Replaced network.host with node.name to match config file
[DOCS] Added note about dely in clearing filter cache.

Closes #5231
NPE in PluginsService when starting elasticsearch with a wrong user

When starting elasticsearch with a wrong linux user, it could generate a `NullPointerException` when `PluginsService` tries to list available plugins in `./plugins` dir.

To reproduce:

* create a plugins directory with `rwx` rights for root user only
* launch elasticsearch from another account (elasticsearch for example)

It was supposed to be fixed with #4186, but sadly it's not :-(

Closes #5195.
Change GetFieldMapping API to broadcast requests to nodes hosting the relevant indices.

This is due to the fact that have to have mappers in order to return the response.

Closes #5177
[TEST] Added get field mapping test variant that tests with a cluster that has a master only node.
Added TransportGetFieldMappingsIndexAction that uses TransportSingleCustomOperationAction as base class, with the goal to reuse common logic (like: retry on failures, shard picking, connecting to nodes)
Need use ensureYellow() b/c get mapping request checks the mapping on the master node