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.
Made SearchContextHighlight.Field class immutable to prevent from erroneously updating it, as it doesn't necessarily map to a single field

A Field instance can map to multiple actual fields when using wildcard expressions. Each actual field should use the proper highlighter depending on the available data structure (e.g. term_vectors), while we currently select the highlighter for the first field and we keep using the same for all the fields that match the wildcard expression.

Modified also how the PercolateContext sets the forceSource option, in a global manner now rather than per field.

Closes #5175