Fix writing of VTU files in parallel

Fixes #149
Merge pull request #218 from firedrakeproject/fix-parallel-vtu-write

Fix for parallel VTU output.

Fixes #149.
Add support for top and bottom facet zero form integrals.
Add support for extruded exterior facet integrals.
Add horizontal facet integral with temporary fix for avoiding double jacobian kernels.
Attempt to add interior vertical facets.
Interior facet integrals for zero forms.
Add changes to support the sparsity building for horizontal facets
Top, bottom and exterior vertical facets pass.
Eliminate extra global args not needed for new FFC kernel types.
Use ON_TOP, ON_BOTTOM instead of magic numbers.
Eliminate bottom_set from _Facets constructor. Drop use of kwargs.
Fix flattening of the coefficients.
Add comments on sparsity domain building. Remove reordering of integrals.
Re-implement changes for #118 for new domain types
Tidy existing tests, and un-xfail
Laplace and Poisson tests for facets, using Neumann BCs
Add interior facet stress tests (P0 and P1DG steady advection)