Basic game board loading

It loads text files containing game boards. Each game board consists
of nine lines of nine numbers each, from 0 to 9, where 0 stands for
an empty position.
Boards file validation

It raises an error when the puzzle file is somehow invalid.
Validation of level name and board number

It validates that the level name is in the list of valid names
and that the board number, when given, is a positive integer.
Minor refactoring of test code
Adding some test sudokus.
Solving bug with reading actual files

Stray carrier returns and spaces were interfering with
the board processing.
Game initialization with puzzle

It chooses a board from the file based on board_number and saves
it as the puzzle.
Drawing the puzzle on the screen

Draws the puzzle in a Tkinter window.
Allowing the user to fill in the blanks.

The user can click on the cells and, for the originally empty ones,
change it's value.
Adding checker for victory condition

It checks the sudoku and if it's solved sets game_over to True.
Checking for victory in the UI

Checks the board every time the user enters a new number. If the
user has solved the sudoku, the game stops and a message appears
in the middle of the board.