Fix for issue #336 (incorrect ndofs for interior face loop)

Fix proposed by Lawrence: multiply number of dofs by two for interior facets.
add CircleManifoldMesh (gdim 2, tdim 1)
add non-extruded circumference tests
add radial-extrusion-of-circle test
add poisson test
Merge pull request #337 from firedrakeproject/fix_ndof_inparloop_over_interior_facets

* fix_ndof_inparloop_over_interior_facets:
  Fix for issue #336 (incorrect ndofs for interior face loop)
Merge pull request #331 from firedrakeproject/circle_surface_mesh

* circle_surface_mesh:
  add poisson test
  add radial-extrusion-of-circle test
  add non-extruded circumference tests
  add CircleManifoldMesh (gdim 2, tdim 1)
Construct Mat Args using SparsityMaps where necessary

If the sparsity was built with restricted
domains (e.g. ON_INTERIOR_FACETS), we need to inform the Arg call when
build a Mat tensor argument, otherwise we get ALL (even though we're
actually not going to iterate over the whole map) passed in to the Arg
checker and we get complaints.  To fix this, build the appropriate Args
using SparsityMaps (as well as in the Mat construction and par_loop
iterate keyword).