Warmers: Have an explicit warmer thread pool
Have an explicit threadpool warmer that is dedicated to execute warmers. Currently, it uses the search threadpool, which does not work well since the number of concurrent searches should be separate from the number of concurrent warmers allows, also the characteristics of the search pool (for example, bounded queue_size) might not fit well with how warmers should be executed (they should not be "rejected").

closes #2815
Don't reset tokenstream before passing to the MemoryIndex, otherwise some tokenizer might swallow tokens.

Closes #2814
Warmers: Have an explicit warmer thread pool
add 1 in case there is 1 core...
closes #2815
Fix filtering aliases with non-empty sort options

Fixes #2816
Terminate early when no terms left in the suggest string.

Closes #2817
Move applying alias filter to ContextSearch#preProcess()
Date math in query_string caches now()
fixes #2808
remove the field settings for query parser cache, not really relevant
Segments API: Add version & compound for each segment
closes #2823
Fix LeastUsedDistributor and ensure random distribution for multiple non-fs directories

If we cannot determine available space the fallback scenario is now to use random distribution instead of always using the last directory.

Fixes #2820
Added sort mode to geo distance sorting. Closes #1846