Eliminate extrusion layer arg from kernel arg list.
Fixed extrusion unit test kernels to use the right number of args.
Fix extrusion demos.
Move extrusion loop outside iteration set loops.
Assembly support for the sequential backend added.
Iteration loop contains just kernel call and addto.
Unknown error on test_global_reduction.py.
Attempt to unit test extruded sparsity.
Add pyop2_geometry.h and include in FFC-generated kernels

With FFC revision 1840, the UFC geometry computations (Jacobian and
its determinant and inverse) are not part of the generated kernel any
more but outsourced to a header file ufc_geometry.h. FFC generated
code for UFC targets is meant to include this header file.

We have our own version of this header file, pyop2_geometry.h, which
defines the functions from ufc_geometry.h as preprocessor macros. This
is necessary to get around the pass-by-reference semantics used for the
determinant in the generated kernels. It also saves us from having to
annotate all these functions with the correct classifiers for CUDA and
OpenCL.

Unfortnately we can no longer compile kernels with -Werror because FFC
kernels compute the Jacobian inverse regardless of whether it is later
used or not. This trigger the unused-variable warning.
RHS Test in firedrake now returns 0.
Hardcoded working version of rhs assembly.
Back to original non-hardcoded version.