Game is invalid if it has overlapping stones

- valid? function now checks if game has overlapping stones
- new possible-placements function list possible placements (stones) for a given game state