add `in` operator; `set and set` and `set or set`

test whether an element is in a list/set/range, e.g. `1 in [1,2,3]`

`set and set` is now a synonym for `intersection(set,set)`, and `set or set` for `union(set,set)`

All this so you can say `1 in (set(1,2,3) and set(2,4,6))` instead of `1 in set(1,2,3) and 1 in set(2,4,6)`
add map(expr,[names],[list of lists])

Suppose you've got a list of 2d coordinates [[x1,y1],[x2,y2],...].
You can now give names to each of the components in the thing you're mapping, e.g.:
	map(sqrt(x^2+y^2),[x,y],coords)
this is the same as Python's:
	for x,y in coords:
		yield sqrt(x**2+y**2)

map also works on sets now