Introduced null BoardState object

Added an "EmptyGameBoard" static function to gameboard which returns an
empty board. Used in the LearningAI to determine the best move, and if
there is a valid move. replaced a null comparison.