add source filter to take_until

extracted thread safety out of the take_until operator.
Add scan
add iterate and variadic merge
filter available overloads
add all_true
split input and output lifetimes
add more perf tests