streams/where*: should only evaluate children once

copy the idiom used in where to evaluate the children once
instead of for each execution
Merge pull request #204 from sihil/where-star-onetime-child-evaluation

streams/where*: should only evaluate children once