Feature/multigridstep rework set smoother
Make the setSmoother methods non-virtual, extend them to take l-values, r-values and shared_ptr, and deprecate the versions taking raw pointer
Make the setSmoother methods non-virtual, extend them to take l-values, r-values and shared_ptr, and deprecate the versions taking raw pointer