New FilterTermExtractor - BooleanFilterTermExtractor
Clean up CandidateMatcher API

There was lots of repeated code in the various CandidateMatcher implementations.
This commit moves all that into CandidateMatcher itself, as well as replacing
the (incorrect!) HashSet container in SimpleMatcher for a Map keyed on the query
string.
Added PhraseQueryTermExtractor
Allow Monitor's internal IndexWriterConfig to be configurable

Also changes the default merge policy to be more suitable for multiple small
updates.

h/t prog8
Merge remote-tracking branch 'prog8/booleanFilterTermExtractor' into 1.1.x
Make FilterTermExtractor extractors final, pass list to extractTerms
Merge the Query and Filter term extractor trees
Move Extractor implementations to subpackage
Revert " Concurrent matcher and collector"

This reverts commit 63ae1184db5c89e5e68e768b3d4dee52f2045ab2.
Revert "Set less segments of presearcher index"

This reverts commit 76e1fc5b57d2958b845f7c26dcb640c701178b7c.
Revert "New FilterTermExtracttor - BooleanFilterTermExtractor"

This reverts commit 5a8f8d804a4d634b11f8361470e2367ffff3532a.
Revert "Use list instead of Hash Set - inserts are much faster"

This reverts commit 161a89dd8a70dfaeb6f6cc01f4a4fe19b1ed43bc.
Merge remote-tracking branch 'flaxsearch_luwak/1.1.x' into 1.1.x

Conflicts:
	luwak.iml