REF: prepare (upcast) scalar before dispatching to arithmetic array ops
This moves the potential upcasting of python/numpy scalars to pandas scalars out of the actual array op  (`arithmetic_op`), but moves it up to the Series / DataFrame level before calling the array op. This avoids calling it repeatedly on the same scalar for each column.