Reimplement queries

* add support for Q and combining Qs
* add support for explicit should, must and must_not clause specification
* add and update tests
* add and update documentation
Add documentation for Q, should, must and must_not