Start elasticsearch in the foreground by default

Instead of using the '-f' parameter to start elasticsearch in the
foreground, this is now the default modus.

In order to start elasticsearch in the background, the '-d' parameter
can be used.

Closes #4392
Allow to provide parameters not only through -D but as long parameters

All getopt long style parameters are now set as es. properties,

elasticsearch --path.data=/some/path

results in -Des.path.data=/some/path

Closes #4393
fix usage of deprecated netty header method
[DOCS] Removed unused file
Compressed geo-point field data.

This commit allows to trade precision for memory when storing geo points.
This new field data impl accepts a `precision` parameter that controls the
maximum expected error for storing coordinates. This option can be updated on
a live index with the PUT mapping API.

Default precision is 1cm, which requires 8 bytes per geo-point (50% memory
saving compared to using 2 doubles).

Close #4386
Move index health calculations to ClusterIndexHealth so it can be reused.
Fixing typo and grammar
Fail test with timeout and stack dump after 20 min rather than 1h
Improve allocation of unassigned shards with early termination

When we allocate unassigned shards we can terminate early for some
shards like if we already tried to allocate a replica we don't need
to try the same replica if the first one got rejected. We also
can check if certain nodes can't allocate any primaries or shrads
at all and take those nodes out of the picture for the current round
since it will not change in the current round.
Randomize AllocationDecider order in tests