Add test of tensor-valued Constant

Slightly better test coverage by checking behaviour from #364.
Add some (failing) tests of non-trivial extruded offset calculations

In particular, test the offsets computed for exterior facet boundary
node maps.
Add some (failing) parallel offset computations
Fix offset computation for exterior facet boundary map

Rather than building the offset by considering the global dofs in the
first entry of the exterior facet boundary node map and the cell to node
map (which was not guaranteed to coincide anyway), just index the offset
by the dofs FIAT has told us are on the boundary.  This not only
produces the correct offsets, but is robust to running in parallel where
a process may not own any dofs on the boundary (in which case indexing
the map would not work).
Only assemble jacobian once if solver is linear

If we're linear, we know we don't need to reassemble the jacobian when
repeatedly call solve on the same LinearVariationalSolver object, so
don't.
Merge pull request #385 from firedrakeproject/fix-extrusion-bcs

* fix-extrusion-bcs:
  Fix offset computation for exterior facet boundary map
  Add some (failing) parallel offset computations
  Add some (failing) tests of non-trivial extruded offset calculations
Revert "Only assemble jacobian once if solver is linear"

This reverts commit 7af14feb8b52324e42d69034964348a535b7bb49.

Despite being linear, the Jacobian may depend on varying coefficients,
so it is not safe to assume that the previously assembled value is
correct.
Fix links to grants on funding page
Plex: Fix `facets` allocation and free `vertices` correctly