Initial stab at broadcasting

Right now it only works for unary operators, but it's extendable.  The
varheap:: methods add(), sub() etc. are no longer called, but they
will be when array operations are introduced.