BUGFIX: reduction that upcast the input on no axis (ex: sum on scalar).

It produce bad results as we don't upcast the inputs in the code, we just copy it.
Add many tests related to the reduction on 0 axis and upcast bug.
make some reduction test work with complex.
Merge pull request #1416 from nouiz/reduce_dtype_noaxis

[BUGFIX] Reduce dtype noaxis