small refactor in ufunc code generation

repeated code handling type info extraction for ufunc code generation
to a private function.
further refactoring of ufunc related code
further refactoring of ufunc template code.
further refactoring of ufunc code generation
refactoring of code initializing the indices of input arrays.
refactored input array access for ufuncs
factored computation of effective address of an array element
improved a bit the load data interface.
progress towards unifying scalar and array code in ufuncs

by using a class that hides the difference in its public interface,
special cases are reduced and code looks more uniform
removed unused kwargs “scalar_input” and “scalar_inputs”.
unified a bit scalar and array handling in ufunc codegen
added logaddexp and logaddexp2 support in no python mode.

also made some modifications to the boiler plate code to improve
support for binary functions coming from npymath
Merge remote-tracking branch 'origin/master' into ufunc-codegen-refactor
support for radians and degrees ufuncs
abs and absolute ufuncs working in no-python mode
updated numpy_support documentation
floor_divide working in nopython mode
added store_data to the array wrapper

So the ufunc generator functions don’t handle pointers at all.
removed spurious “function returns function” in unary_ufunc codegen
removed spurious “function returns function” in binary_ufunc codegen