Added SudokuSolverInterface and changed SudokuSolver

SudokuSolver now implements SudokuSolverInterface