Implement while_true view

`view::while_true(range, predicate)` returns a slice of `range` starting at its beginning and ending at the first element of the range for which the `predicate` is false. 
s/`while_true_fn`/`until_fn`/