refactor isGoal() in Board
change Solver to use both twin and initial Board >> detect unsolvable
fix