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
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.
Merge pull request #342 from firedrakeproject/OPC_tweak

* OPC_tweak:
  add cylinder Betti number and area tests
  specify gdim for extruded meshes
add six (python 2-to-3 utility) to requirements.txt
Merge pull request #341 from firedrakeproject/derivative_fix

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.

Also take the coefficients from the preprocessed form.
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.
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.
Fix projection for dolfin-adjoint

Introduce a variable holding the solve function to be used by
project. This enables dolfin-adjoint to overload the solve call.
Merge pull request #349 from firedrakeproject/projection_solve

Fix projection for dolfin-adjoint
DOLFIN-compatible FFC parameter specification
Merge pull request #350 from firedrakeproject/ffc-parameters

DOLFIN-compatible FFC parameter specification

Allows overriding FFC parameters via the parameter system.
Avoid divide by zero in IntervalMesh construction

If the user passes both length and ncells as int and the former is
larger than the latter, we should not choose a cellsize of zero.
Deal with tuple degree in errornorm
Add xfailing test of top and bottom bcs in extruded mixed spaces

Solve two uncoupled Poisson problems in a single mixed space with
different boundary conditions in each case.  Currently fails due to
incorrect application of top and bottom boundary conditions.
Add xfailing extruded Stokes-Poiseuille test

Solve for simple Poiseuille flow in an extruded channel using
Taylor-Hood elements.  Currently fails due to incorrect application of
boundary conditions in the pressure space.
Remove support for extruded top and bottom bcs

This never did the right thing for mixed spaces, and furthermore was
only applied for cell integrals.
Adapt to PyOP2 renaming of SparsityMap to DecoratedMap

Preparation for implementing bcs on mixed extruded spaces.
Reimplement bcs for extruded spaces

In particular, rework implicit top and bottom bcs such that they only
apply to an individual Map, rather than the par_loop as a whole.  As a
side effect, assemble no longer needs to special case for these bc
types, since they're dealt with through the normal "flag the map values"
mechanism at a firedrake level.

As a result of this change, application of top and bottom boundary
conditions in mixed spaces now does the right thing and only applies the
bc to the relevant subspace.