Fix race in multiplexing, dispatch handlers

Because of the recur points in the impl, alt and take handlers can
occur in the dispatch pool (after a source dries up), in which case
returning the gotten val will just disappear. Make sure to run handlers.