Adds union, intersection, and set difference to scheduler. Found this useful in trying control where fork opts happen in an example matmul schedule.