Explicitly import firedrake module
Fixed a typo.
Allow more general (multigrid) hierarchies of smoother.

Instead of having a hierarchy for each smoother type I wrote a more class which takes the smoother type as an argument.
More efficient way of first smoothing step.

When using the smoother as a preconditioner, it is more efficient to set the initial_phi_is_zero flag than setting the field to zero explicitly.
Adapt driver for more general smoother hierarchy class.

Changed the driver to use the new smoother hierarchy introduced in commit 584b1aa8d592d408466fdb0af9afe00a09690d28