Adding diagnostic tools
In this PR, I created a set of diagnostic tools:
- two callback models: SolverPrinter and SolverDisplay,
- adaptation of DDP solver for running the stack of callback functions defined by the user, and
- extra variables in the logger (control regularization and gamma)
Additionally I adapted the unit-test code according to this minimal change in the solver.callback API.
This issue was reported in #77 (closed).