Re #2738. Re-enable OpenMP in BinaryOperation on Mac.

The problem looked to be due to the fact that the Intel compiler
evaluates function arguments L->R (out other compilers do it R->L). If
the LHS & output workspaces were the same one, the references obtained
by the readY/E calls could be invalidated by other threads, whereas
with R->L evaluation the dataY/E calls would have ensured the readY/E
gave the right one.
In fact, the tests that showed this up are rather artificial as it's
extremely unlikely that data will be shared between Y & E vectors
(unlike X vectors), but it's better to make sure it's correct.