c++: allow pointer in new argument
This moves new expressions out of unary_expr, so that there is no conflict with the multiplication operator. Indeed using new as anything other than the right side of an assignment or function argument seems unlikely.
*s are taken from right to left in constructing the pointer type.