Allow negative comparison on null topics
Topics can be null, which means they can't be compared to strings.
So a query with "topic:foo" would match changes with topic foo,
and not match changes with topic bar or the null topic. However,
the inverse, "not topic:foo" does not work as expected. It would
match changes with topic bar, but *not* changes with the null topic
because that comparison evaluates to unknown.
By changing the predicate to "topic is not null and topic = foo"
we achive the same results on the positive query, and the negation
of that query works as well (since if the topic is null, the
expression will evaluate to false in the first half, and if the
topic is bar, evaluate to false in the second half).