Add veq, vneq, ... etc, component-wise comparisons to float4, int4, mask4

I have come to believe it was a mistake to define ==, !=, <, etc., as
component-wise, in conflict with the understood semantics of the
operators for all other numeric types (which return a bool).

I think the better approach is to define explicit per-component vector
ops veq, vne, vlt, vgt, vge, vle, and then change == and != to return
bools.  Probably the comparison ops should be undefined for vector
types, since there is no canonical ordering and people are probably
going to be confused about whether va < vb means "all components are
less" or "any components are less" or "first component is less"...

OK, so this patch is phase 1: define the vector per-component comparisons.
Phase 2 is going to be replacing any existing use of the old operators,
both in OIIO as well as OSL. After that has settled down, then I'll
return here and remove the deprecated ops and change == and != to return
bools. I'm just afraid that if I do it all in one step, there will be
the opportunity to have subtle bugs if I miss a spot that needs to change
(say, a == that should be veq).