Update GameBoard.java

Added findMoves (formerly blockLogic), findAdjacent, isValid, and moveBlock.

These methods are to be called by a SolverTreeNode method in order to find valid moves and create new blockSets reflecting those moves, which are used to check for base cases (repeated boards or solution boards) and create child nodes.