Make testDisjoint a template test that checks both the even and odd blocks.
Properly implement the Margolus neighborhood.