[GEO] Fix for ArithmeticException[/ by zero] when parsing a "polygon" with one pair of coordinates

While this commit is primariy a fix for issue/8433 it adds more rigor to ShapeBuilder for parsing against the GeoJSON specification. Specifically, this adds LinearRing and LineString validity checks as defined in http://geojson.org/geojson-spec.html to ensure valid polygons are specified. The benefit of this fix is to provide a gate check at parse time to avoid any further processing if an invalid GeoJSON is provided.  More parse checks like these will be necessary going forward to ensure full compliance with the GeoJSON specification.

Closes #8433
Correcting coordinate checks on LinearRing and LineString, updating test
Adding parse gates for valid GeoJSON coordinates. Includes unit tests.
Updating to throw IllegalArgument exception for null value coordinates. Tests included.
Test: force merge index in the end of IndexStatsTests.throttleStats

This works around slow IO (fsync) causing the test-framework cleanup
to timeout at 30 seconds when trying to delete the index.

Closes #8528
[TEST] Register data.path for all nodes on close in InternalTestCluster

We need to register those data paths otherwise we might miss path that
need to get cleaned when using local gatway etc. which can otherwise
cause imports of dangeling indices.
[STORE] Use DistributorDirectory only if there are more than one data direcotry

We don't need the overhead of DistributorDirectory if there is only a single directory
in the distributor.
[CORE] Ban all useage of Future#cancel(true)

Interrupting a thread while blocking on an NIO Read / Write Operation
can cause a file to be closed due to the interrupts. This can have unpredictable
effects when files are open by index readers etc. we should prevent interruptions
across the board if possible.

Closes #8494
[TEST] distributor direcotory is only used if multiple datapath are configured
[TEST] Give tests for ctx._ttl more leeway

Fixes #8500
[TEST] add more debug output when engine / store are closed
[TEST] Revert accidential massive iterations
Docs: Update execution hint docs for Significant terms agg

copied over the relevant pieces from the terms agg

Closes #8532
Test: don't enable unnecessary http transport in restoreIndexWithShardsMissingInLocalGateway test
Logging: restrict files loaded as logging configuration based on their suffix

Make sure that files such as logging.yml.rpmnew or logging.yml.bak are not loaded as logging configuration.

Only files that start with the "logging." prefix and end with ".yaml", ".yml", ".json" and ".properties" suffix get loaded.

Closes #7457
[TEST] move LoggingConfigurationTests to common.logging.log4j

Make also LogConfigurator#ALLOWED_SUFFIXES package private so that it can be used in LoggingConfigurationTests, now that it's in the same package as the class that it tests.
Add few randomized aspects to LoggingConfigurationTests.
[DOCS] document that we support loading multiple logging conf files
add more debug logging if recovery thread got iterrupted
Fix example in logging daily rotate configuration

PR #8464 come with a bug in the example provided.

First, the current log file is not compressed so it should not end with `.gz`.
Second, conversion pattern was removing all the log content but was printing only the log date.
Then, the current log filename was hardcoded to `elasticsearch` instead of the cluster name.
Fix: If dangling_timeout was set to 0 and auto_import_dangled
was set to yes, dangling indices were deleted by mistake,
because a RemoveDanglingIndices runnable was added
to every dangling indices, without considering the auto_import_dangled
setting.