Don't store non-solid particles in the collision buckets.

This improves performance of collision checking
Cache out-of-bounds check per tick