During the course of refactoring Template Assertion Predicates, I waited to update CountedLoopNode::skip_assertion_predicates_with_halt() until we properly set up Assertion Predicates and established the predicate iterator classes. Now that this is the case, we should abandon the temporary AssertionPredicate/s class used by `skip_assertion_predicates_with_halt()` which does some custom matching. Instead, we should use the dedicated Predicates class which internally uses predicate iterators.