Fix the argument generated by derivative.

We previously had a false assumption that taking a Gateaux derivative
always results in adding a TestFunction. Now we add the next unused
Argument to the form, which is always correct.
specify gdim for extruded meshes
add cylinder Betti number and area tests
Fix LinearVariationalSolver docstring

solver_parameters, not parameters.
Add backwards-compatibility for parameters keyword to FooSolver

Accept both parameters and solver_parameters, preferring the latter and
warning if the former is used.
DMPlex: mark non-exec-halo facets

Interior facets that only touch halo vertices /and/ halo cells need to
be marked as non-exec: we don't have enough data to compute over them,
but the data needs to be there such that assembly can execute
redundantly in parallel.

This actually produces exec halos that are slightly too large for fully
discontinuous fields: in that case we don't care about halo vertices,
only halo cells.  However, rather than specialising the code dependent
on the function space we just take the (hopefully minor) hit.
DMPlex: add non-exec halo facets to plex_reordering and facet_ordering
DMPlex: add non-exec halo to dof_classes
Enable interior facets in parallel

Now that we mark non-exec interior facets correctly, interior facet
integrals should work, so remove NotImplementedError from appropriate
assembly and expected failure from parallel upwind flux test.

dS_h integrals (extruded interior horizontal facets) are still broken,
so leave that error in.
Add __name__ == '__main__' magic to test_upwind_flux
Add DG advection test (parallel too)
Run 2D and 3D steady advection tests in parallel

Now that we can do interior facet integrals in parallel, test steady
advection in parallel as well as serial.
DMPlex: plug small memory leak
Merge pull request #345 from firedrakeproject/parameters-compat

* parameters-compat:
  Add backwards-compatibility for parameters keyword to FooSolver
  Fix LinearVariationalSolver docstring
ffc_interface: grab coefficients from preprocessed form

The coefficients FFC sees are of the preprocessed form, so we can't grab
them from the original form, since those may not match up.
DMPlex: simplify restore closure calls

Only ever check out into a single work array and restore at the very end
of the function in all cases depending on whether that array is still
NULL.
DMPlex: type-annotate a few final loop variables
Merge pull request #344 from firedrakeproject/non-exec-facets

Support interior facet integrals when running in MPI parallel.

* non-exec-facets:
  DMPlex: type-annotate a few final loop variables
  DMPlex: simplify restore closure calls
  DMPlex: plug small memory leak
  Run 2D and 3D steady advection tests in parallel
  Add DG advection test (parallel too)
  Add __name__ == '__main__' magic to test_upwind_flux
  Enable interior facets in parallel
  DMPlex: add non-exec halo to dof_classes
  DMPlex: add non-exec halo facets to plex_reordering and facet_ordering
  DMPlex: mark non-exec-halo facets
Docs: workaround for FFC build issues on some Mac systems

We need both a C++11 compiler and standard library, on older Macs you
get the former by default but not the latter.
Merge pull request #346 from firedrakeproject/install-notes

* install-notes:
  Docs: workaround for FFC build issues on some Mac systems