Custom FilterTermExtractors should be added to the beginning of the FQE extractor list

They were being added at the end, and never getting called because the Generic
filter extractor got there first.

Fixed #25
Move Filter tree term extraction to new FilterTermExtractor class

Most of the logic of FilterQueryExtractor moves here, and is then shared with a
new ConstantScoreQueryExtractor.
Ensure that empty term lists are weighted zero
WildcardNgramPresearcher add term filter extractor to builder
Merge pull request #31 from prog8/wildcard_presearcher_builder

WildcardNgramPresearcher add term filter extractor to builder
Change query cache keys from String to BytesRef
Throw IllegalArgumentException in case of null query
Merge pull request #33 from prog8/query_cache_boost

Change query cache keys from String to BytesRef
Fix of QueryIntervalsMatchCollector to handle filters
Merge pull request #35 from prog8/intervals_matcher_fix

Allow QueryIntervalsMatchCollector to handle filters

Filters just return null from Scorer.intervals(), so allow for this scenario.
Revert "Hash queries by MonitorQuery instead of BytesRef"

This reverts commit 65852e2d714df9f9d91837ed1961f590066f1537.
Merge branch 'flaxsearch_luwak_1.1.x' into 1.1.x

Conflicts:
	src/main/java/uk/co/flax/luwak/MonitorQuery.java