Test: add diagnostics to get some details next time this test fails
Added more utility methods to Settings

- names() to return the direct settings names
- getAsSettings(String) to return the settings mapped to the given name (like getByPrefix(...) except no need to provide a tailing '.')
[TEST] close IW before listing directory content
Phrase Suggester: Add collate option to PhraseSuggester

The newly added collate option will let the user provide a template query/filter which will be executed for every phrase suggestions generated to ensure that the suggestion matches at least one document for the filter/query.
The user can also add routing preference `preference` to route the collate query/filter and additional `params` to inject into the collate template.

Closes #3482
[TEST] fix PhraseInIndex test bug for shard failure
[TEST] fix random preference string test to accomodate for the new more strict preference type