Implement the missing (and) and (or) functions

The patches in this request implement the `(and)` and `(or)` functions, both of which take at least two arguments, and compile down to a `BoolOp` with op set appropriately to either `ast.And` or `ast.Or`, with the (compiled) arguments passed to the op as values.