Additionally track the data in the list model with hash sets so that the...

... getCheckedItems() and setCheckedItems() methods perform the set difference in linear time instead of quadratic time. Anecdotally, this allows filter popups for large tables (10k+ entries) on my hardware (Intel Core i7-3770 @ 3.4 GHz w/ 8.0 GiB RAM) to open in <50ms versus several seconds.