Add a condition choice mixin and operators for working with lists of items.
Review Request #8365 — Created Aug. 30, 2016 and submitted
This changes the matching logic to give more control to the BaseConditionChoice, and then adds a new mixin for condition choices that want to match against the items in a list value. Normally, the choice would need to either match against the list itself, or would need operators designed to work with that list. This mixin allows existing operators (like string comparison operators) to apply to each item in the list, so that operators and choices can be reused. There are also two new operators for matching whether a list has one or more specified items, for those choices that do want to operate on a list as a whole.
Unit tests pass.
Tested this manually with some pending work.