Fix miscompilation of Pervasives.xor to C
Pervasives.xor is currently miscompiled by the C backend, as it's being translated as a call to a non-existent function of the same name. This commit fixes this miscompilation, and rationalizes the handling of binary/unary operators.