Use more efficient StemmerOverrideFilter from Lucene trunk

Closes #2800
Respect offset and length when iterating over BytesRef in Uid. The length is starting at offset

Closes #2806
Call onMissing if doc has no value in the field.

Closes #2807
Added Script test for geo distance tests and modified GeoUtils.normalizePoint()
Fix issue where entire shards are lost due to too many open files exceptions and a but in Lucene's
IndexWriter / DirectoryReader where an existsing index was not detected and then deleted due to a wrong
creation mode. See LUCENE-4870

Closes #2812
Fixes java6_u31 compile error w.r.t. type inference
Adding parsing for zero terms query for multi match
Tests for multi-match zero_terms_query and making references to the ZeroTermsQuery enum consistent to others used in MultiMatchQueryBuilder
add 0.20.7
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