Tidied up CMS fields for constraints
Created ProductTypeDiscountConstraint.
API: made DiscountConstraint->filter() no longer abstract. That function isn't required on all subclasses.