Make kenken generator headers public
Add a CSPSolver version of the KenKenSolver

This is a very messy commit - but both csp solvers are
in a working state and I need to move on for now. The
CSPSolver might need a ground up work over to be more
flexible in the long run, to cleanup how to
prioritize constraints and simplify making constraints
with more than one cell.