Added support for puzzles with multiple solutions

Solves sudokus and presents multiple solutions.  Handling of multiple solutions is not yet fully-functional (in the case of many, many solutions it would not find them all).

I've also left this unoptimized because I don't think optimization would create a discernible difference unless this is used to solve dozens or hundreds of puzzles.