ENH: skip the slower type tuple code path for common reductions

The creation and parsing of the type tuple is slower than the array
result path used by binary ufuncs. For the most common reductions add a
fast path skipping the type tuple creation and sending it through the
array result path.
Improves small reduction performance of these types by 5%-10%.
ENH: don't check update contiguous flags if no strides are given

updating unconditionally caused a ~5% performance regression for scalar
operations.
ENH: improve inner loop selection performance

Add a jump table to the first entry of each of the basic type to the
ufunc object and use it to skip over uninteresting inner loops.
For the add_signatures this skips 13 loop iterations and improves scalar
performance by 10%.

The jump table is placed behind an dynamically allocated object already
present in the ufunc object so the ABI is preserved.