Bug Fixes

Previous updates caused the program to not work because of an issue with
len. Still not sure if the current setup with __len__ for puzzle() is
optimal, but the program does work now. Still cannot solve puzzles that
have a row with 3 choices but each cell could possibly be 2 of the
options.