Made the Swap functions public in everything but SudokuPuzzle.

The Swap function in Cell will not swap a locked cell unless you
specifically pass in true as the second parameter. This should help with
mutation. (I hope)