What this MR does / why does DuMux need it:
Introduces a backend for classes like NewtonSolver such that it can operate on both solution vectors or more generic variables (primary&secondary variables) objects. NewtonSolver is then modified to use the backend.