add some more tests to force play_at to be a bit more robust
allow a mark to be made in any square
board should not be empty if there is a mark on it
simplify Board.empty