ENH: improve PyArray_Nonzero for sparse bool masks

we already count the number of true elements so we can decide when its
sparse and use faster (4-byte) vectorized npy_memchr.
Merge pull request #4370 from juliantaylor/where-improve

ENH: improve PyArray_Nonzero for sparse bool masks
ENH: Explicitly use __eq__ in assert_equal(a,b)

Fixes #2552. Changes primary test expression in function.
Merge pull request #4471 from meltingwax/meltingwax/2552-r2

ENH: Explicitly use __eq__ in assert_equal(a,b)
BUG: prevent nonzero memchr from running out of bounds
Merge pull request #4474 from juliantaylor/nonzero-bug

BUG: prevent nonzero memchr from running out of bounds