Refactor binary ufuncs to handle scalar inputs, scalar inputs + array output, and array inputs + array output
Refactor add, subtract, multiply, and divide ufuncs

Refactor add, subtract, multiply, and divide ufuncs to work with scalar inputs
Disable dispatch shortcut to prevent crash

Crash occurs when argument types specified in jit decorator differ from actual arguments types passed in. Disable dispatch shortcut for now so that dispatcher will attempt to match overload function by argument types.
Fix int-only binary ufuncs