Changes
Major
- removed `dict2struct` and its use: now most of the properties return a reference to internal dictionaries of variables, parameters, constraints, etc.
- refactored internal files: the same functions can still be access, but their source files have been rearranged
- `MultistartNlp.solve_multi` and `wrappers.NlpScaling.solve_multi` now accept single dictionaries of parameters and variables for multiple scenarions
- `wrappers.NlpScaling` now stores both unscaled and scaled variables and parameters to allow easier (un)scaling of expressions
Minor
- remove `np_random` and `jaggedstack` from utilities (were unused)
- changed initial state names in `wrappers.Mpc` from `{statename}` to `{statename}_0`
- changed argument name `dim` to `size` in some methods in `wrappers.Mpc`
- `csnlp.core.scaling.Scaler` now inherits `dict` instead of `UserDict` for better type hints
- better docstrings, type hints, examples and tests