Add tests of zero form assembly with multiple integrals
mesh: Use entity class information to construct facet sets

We were computing the correct sizes for the PyOP2 sets, but not using
them, so do that.

Note that this necessitates a disgusting hack when computing the
exterior facet boundary node map.  Since the facet sets don't have halo
information, we build a set of the correct size to carry out the
par_loop that populates the map we want rather than iterating over the
facet set.