Refactor initialization of root and ode solvers
This MR is refactoring the root and ode solvers and is replacing several intent inout's by in's. Now the root solver variables can actually be adjusted through the input file.
- I have checked that my code follows the Octopus coding standards
- I have added tests for all the new features added in this request.