BUG: fix handling of negative strides in npy_memchr

the new code did not account for them at all, add the old loops back but
keep the stride 1 optimization for sparse masks.
MAINT: remove trailing zero count path in npy_memchr

its not actually faster than just running through the trailing byte
loop.