[CSSolver] Add skeleton of iterative `solve`
The idea so to split solving into non-recursive steps,
represented by `SolverStep`, each of the steps is resposible
for a unit of work e.g. attempting type variable or
disjunction bindings/choices.
Each step could produce more work via "follow-up" steps,
complete "partial" solution when it's done, or error which
terminates solver loop.
                
                
                
                
                    Committer
                    
                        
                        Davide Italiano