Annotation search: reset query result storage on every new query
Annotations: fix multiple annotation search logic

Using multiple annotations in the annotation search was broken in
recent commits. This commit fixes this by avoiding the use of
Django's Q objects. They behave differently than expected and are
not needed anymore.

Additionally, this commit changes how sub-annotations are handled.
They are now part of the correct filter.