added intersection and intersectionWith

intersection is required to allow all major set operations:
AND = intersection
OR = union
AND NOT = difference