Refactoring GameBoard and added unit tests

I think I've refactored GameBoard to be completely row/column centric and added a first batch of tests. If you like this direction I will keep going and clean it up + add more tests. Also includes the Math.random() mock.