Add failing test when using `&` operator

After annotating and filtering a queryset for the number of m2m related
objects, subsequent filters using the `&` operator falsely return an empty
result.

Example
-------
book = Book.objects.all()[0]
author1 = book.authors.all()[0]
author2 = book.authors.all()[1]
query1 = Q(authors=author1)
query2 = Q(authors=author2)

annotated_query = Book.objects.annotate(c=Count('authors')).filter(c=2)
query = annotated_query.filter(query1 & query2)