Add a periodic interval mesh

A horrifically hacky temporary solution for a periodic interval.  We
build a truly periodic mesh for Fluidity to read so that the
connectivity is correct.  Then, knowing the numbering that Fluidity
spits out for this mesh, we replace the coordinate field with the
appropriate DG field on the interval.
Correctly extrude DG coordinate field

In the periodic base case, the incoming coordinate field is DG, and we
should build a P1dgxP1 coordinate field for the extruded mesh (rather
than P1xP1).  To do so, we need to look at the number of dofs in the
base coordinate field, rather than the number of vertices in the base
mesh.
Add xfailing tests computing area of extruded interval

If we use a DG coordinate field for the base mesh and extrude it upwards
into P1dgxP1, computation of the area of the resulting extruded mesh is
incorrect (we never seem to get off the first layer).
Use ExtrudedSet everywhere appropriate

Now the extruded sets are a first class citizen, we must use them
everywhere appropriate.  Additionally, remove unnecessary passing of
layers around to constructors (it's already in the mesh).
Stash measures on Mesh objects and use them in project

If we've built more than one mesh, we can't us a bare ufl.dx in project,
since it may pick a coordinate field not associated with the function
space in question.  To avoid this, save measures on the mesh object and
use them when constructing the form.
Extrude coordinates cell-wise not vertex-wise

Now that we can walk over "mixed" base and extruded meshes, produce
extruded coordinate fields cell-wise.  This allows us to write kernels
to extrude general base coordinate fields into base x P1 extruded
fields.