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.