Rewrite query_builder to fix multiple-OR-filters error
Rewrite query_builder to fix multiple-OR-filters error

Previous version of the filter builder would group OR filter values
inside a single `bool` `"should"` list, which means a document only
needed to match any of the combined list of values, not at least one
value per OR filter field.

Instead, OR filters now return a single "terms" filter that checks if
the field matches any of the given values. All field filters are then
joined in a single `bool` `"must"` list, which makes sure that all of
the field filters are matched at the same time.

This simplifies the code a bit since there's no need to group filters
between `"must"` and `"should"` lists anymore, so we can get rid of the
QueryFilter class.

RichardKnop/digitalmarketplace-search-api,RichardKnop/digitalmarketplace-search-api,RichardKnop/digitalmarketplace-search-api,alphagov/digitalmarketplace-search-api,alphagov/digitalmarketplace-search-api,RichardKnop/digitalmarketplace-search-api