Move some of the logic of get_query_for_items_for_property_[posi|nega]tive to the Column objects
Instead of the hard-to-read if/else code of
get_query_for_items_for_property_[posi|nega]tive,
let's use the Column object and polymorphism.
Also remove the TEXT_SELECTOR_MAPPING workaround added in 6c534b72.