Add GameOfLife class and a functional test
Add runner
Refactor NeighboursCounter
- Remove repetitive code in favour of an iterative structure
- insipred by Greg D's game_of_life_no_return implementation