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 only actually faster than just running through the trailing bytewise
loop if the needle is in the last byte.
Merge pull request #3969 from juliantaylor/memchr-bug2

BUG: fix handling of negative strides in npy_memchr