some refactoring, new methods
fix bug in resolve()

resolve used to fail if the field at index 80 (the last field on the
grid) was populated before the call to resolve().
It now works correctly.
made a few methods private

Made a few methods private
which do not need to be exposed to users of the class
switched off debug code

Switched off debug code by defining NDEBUG
in order not to annoy users of the library by default.
refactor to replace std::list with an array

Until now, for almost every call to resolve() an instance of std::list
was generated. I consider this wasteful, es the full capabilities of
std::list weren't even needed.
Thus, the candidates are now stored in a fixed-size array.
generating 500000 puzzles in the test executable

Generating an enormous number of puzzles
to demonstrate the speed of puzzle generation.