New constructor for Generation plus refactored
Generation constructor expects game rules.
Refactored GameOfLife to facilitate reading.
Organized unit tests.