Convert grid transfer kernels to COFFEE ast

Also make them look more like FE kernels by using an iteration space for
the first (transferred to) argument.
Enable multigrid tests on travis
Implement grid transfer on refined intervals
Test basic interval refinement
Test grid transfer operators on intervals
Add check for refinement of overlapped meshes

If we've already grown the halos, we can't refine the parallel mesh, so
add a sensible error message early and bail out.
Implement get_transformations for extruded cells

The extra "vertical" coordinate is just mapped by the identity, so we
only need to compute transforms for the base cell.
Update get_transforms_to_fine for extruded cells

Again, the extra "vertical" coordinate is mapped by the identity.
Return extruded offset array from get_unique_indices

Use it when creating cell_node_maps on extruded meshes.  This means we
can have grid transfer for arbitrary order function spaces on extruded
meshes.
Add tests of grid transfer operators on extruded meshes

Now that we build the correct cell node maps for arbitrary order spaces
on extruded meshes, test that grid transfers behave correctly.
Remove special-casing of P0

Now that we can transfer arbitrary function spaces on extruded meshes,
remove the special case code for P0 transfer.