First attempt

This attempt includes unit tests phrased pretty much exclusively in terms of input and output coordinates as examples of applying the rules.  This works pretty well for Under-Population, Survival and Overcrowding rules, for which there are plenty of simple examples; but it becomes harder after introducing the Reproduction rule, since the order of the output coordinates becomes a detail of the implementation, and it also impacts the other, initially simpler specs.