BUG: nditer: Initialize buffer reduce pos

The FirstVisit function uses this, but when the reduction is
over a single element it isn't considered a reduction. This is
fine, however the reduce pos must still be initialized to 0 in
that case. Also changes the check order so that it is not
necessary to initialize the outerstrides as well.

--

Sorry... been a bit lazy about numpy lately. This initializes the reduce_pos to 0 and removes the if from gh-4535. The reason is in the tests (they do warn you that something may be fishy when run in valgrind). The size==1 check does not work with an axis argument given.a