Added command line interface and refactored SudokuPuzzle.