Move rules to their own namespace
Split neighbourhood definitions into namespace.
Arrange cells in a torus.
Add von Neumann neighbourhood
Make definitions of neighbourhoods clearer