bin/elasticsearch: add help, fix endless loop

This change adds command line help for all options to the es start script.
Both '-h' and '--help' options are accepted.

Also, an endless busy loop in the long options parser was fixed: running the
script with a long opt parameter w/o value (e.g. "elasticsearch --buuuurrrnn")
the long option parser would end up in an endless busy loop.

Signed-off-by: Thilo Fromm <github@thilo-fromm.de>
Added `inner_hits` feature that allows to include nested hits.

Inner hits allows to embed nested inner objects, children documents or the parent document that contributed to the matching of the returned search hit as inner hits, which would otherwise be hidden.

Closes #8153
Closes #3022
Closes #3152
Docs: Update range-query.asciidoc

Closes #8740
[RECOVERY] Make recovery delay configurable

Today we wait 500ms before we retry a recovery if the target node is not ready.
This happens if the source starts the recovery before the target has
processed the clusterstate moving the target shard into the right state.
This can cause a 500ms delay each time it happens while the shard is ready
way earlier on the target node. This commit makes this delay configurable
to mainly speed up test processing and shard allocation in tests.
Add custom index.data_path and index.data_template settings
Pass IndexSettings through nodeEnv.deletShardDirectorySafe
Delete state dir for indices with custom data paths
Duh, need to actually delete the index if I expect it not to exist...