Fix behavior of NotSelectionPredicate.

If the original predicate does not match, we can only report a
"tentative" match, since child particles may match... so we
can't use the bitset to cache the result. Also modifiy
And/Or/Xor predicates to handle such "tentative" matches.
Improve Selection docs.
Provide docs for some compiler macros.
Fix typos.