Extrusion firedrake

Added functionality for dealing with iteration over extruded meshes in PyOP2.
Adapted matrix and RHS assembly for the extrusion case by changing sparsity.
Kernel wrapper generation has been modified to deal with the application of extruded maps to sparsity objects.