Aggregations: Fix geohash grid doc counts computation on multi-valued fields.

Close #8512
[CORE] Ensure shards are deleted under lock on close

Today there is a race condition between the actual deletion of
the shard and the release of the lock in the store. This race can cause
rare imports of dangeling indices if the cluster state update loop
tires to import the dangeling index in that particular windonw. This commit
adds more safety to the import of dangeling indices and removes the race
condition by holding on to the lock on store closing while the listener
is notified.
Add index.data_path setting for custom index data directories

Uses the `index.data_path` setting in AbstractIndexStore in order to
support a custom data path for an index. This path is used by
shardIndexLocations and shardTranslogLocations.

Changes the FsTranslog class to use IndexStore.shardTranslogLocations
when determining where translogs should be stored instead of the
NodeEnvironment.

Cuts over more things over to the Path API