Allow address_of and dereference expressions in vector grammar

This makes possible the following:

    vex::tie( *if_else( x < 0.5 ? &y : &z) ) = 42;

(Assign 42 to either y or z, depending on value of x). The trick with
address_of/dereference is unfortunately required because in C99 (which
OpenCL is based on) result of ternary operator is not an lvalue.