Implement Default & Clone in terms of [Cell, ..9] for [[Cell, ..9], ..9]
Puzzle: don't use an owned pointer to cells

... we don't need one apparently.
Add a simple unittest: verify the puzzle can be solved
Add a simple README
When guessing/backtracking try the cells with fewest options first

.. this leads to an increased possibility per option of being succesful.
Use an easier text-based format for loading puzzles
Load puzzles from stdin
Use the internal puzzle only in a test
Add testcase for empty puzzle
implement fmt::Show for Cell instead of a custom printing function
Use iterators to walk rows to print puzzles
Stop printing the possibility count
implement fmt::Show for Puzzle instead of a custom printing function
Use std::log for debug/error logging