Allow SolverState to be modified in the callback.

Thus, one could implement a stop criterion in the callback, add a boolean in the parameter list, and the solver will read it once the callback has been called. This makes the callback/SolverState a two-way street.