mesh: Use entity class information to construct facet sets

We were computing the correct sizes for the PyOP2 sets, but using them,
so do that.
Fix 0-form assembly with multiple integrals in parallel

We split assembly of forms with multiple integrals into multiple
par_loops.  In the case of 0-forms (represented by PyOP2 Globals), this
would produce the wrong results in parallel since the reduction to
compute the correct value of the Global at the end of each par_loop does
not commute with the increments into the Global that the next par_loop
carries out.

Fix this by assembling into temporary Globals and summing the values
locally (since everyone already has the correct data) once all integrals
have been performed.

Note that this forces evaluation of the par_loops that compute 0-forms,
but this was already the case.