Replaced assertions with raises of NoSolutionError
Removed print from __seed__helper; the method now returns a string, which must be printed
Changed "from string" tests to be a single character in order to meet the spirit of the tests
Added a 1x1 test
Fixed a bug in Sudoku.__str__, which failed for 1x1 puzzles
The recursive solution now crosses off failed seeds, when NoSolutionError is raised.
NoSolutionError is now raised when all seeds are expended
Split up Sudoku.solve into logic and brute
Alphabetized some methods
Renamed some test methods