Go back to using references in AdvectionDiffusionSweeper.

This also add `as_dvector` to take care of casting.