change FilterListItem to an abstract class, set db level uniqueness constraints on B+WFilterItems, set blank+null constraints