Rewrote the neighbor list generation kernel to be simpler and (slightly) faster