Better clue pruning, harder cruxes
This build has dramatically better clue pruning (at a significant... but affordable CPU cost). Once the puzzle generator finishes generating a clue set, it iterates through and tries to solve the puzzle with one clue removed at a time. If the puzzle is still solvable, we delete the clue.
This means that cruxes involving converging solutions or hidden pairs will happen more frequently for hard and higher.