[CORE] Don't handle FNF exceptions when reading snapshot

We used to handle FNF exceptions in the store when reading a snapshot.
For instance if we can't open a segments file for a given commit point
we just return an empty metadata object and tracelog the even. This can
cause shards to be false marked as corrupted if a shard is forcefully
removed while a recovery started at the same time. We should in general
bubble up these exceptions and let the caller decided how to handle the
IOExceptions.
Stats : Add time in index throttle to stats.

This commit adds throttle stats to the indexing stats and uses a call back from InternalEngine to manage the stats.
Also includes updates the IndexStatsTests to test for these new stats.
Stats added :
```
throttle_time_in_millis
is_throttled
```

Closes #7861
TEST : Force throttle test to use tiered merge

This commit fixes the failing throttle test by forcing the use of the tiered merge policy.
Docs: Fixed typo in MissingFilterBuilder

Closes #8185
Startup: Add ES_HOME to ES_INCLUDE search path

With this change, the elasticsearch script can be linked to another path
without having to set ES_INCLUDE to match the installation path.
Previously, the elasticsearch would find ES_HOME correctly even if linked
but could not find the include script, and finding it would be expected
behavior to me based on its current search path.

Closes #4958