Added Predicate.ifSome, closes #29