FIX: Make nditer work for 0-d iterations.

There are relatively few changes necessare here. However there is a
conceptionally cleaner fix by not using axisdata at all,
sice the 0-d iterator does not have any axisdata, but on first it
seems it would require more thourough fixes for the buffers, and maybe
even more special cases.

This instead uses one axisdata and just makes sure that it is filled
fine, so that later code can assume that at least one axisdata exists and
has correct pointers to the data.

The dtype transfer functions in lowlevel_strided_loops did not support
ndim=0 as well, so a check is added there.
MAINT: Remove np.ndindex 0-d hack.