Add takeUntil(predicate) operator

That would close #1649.