Added SquareBoard class which enforces equal rows and columns for games such as TicTacToe.  This makes the code less bloated when analysing linear wins.