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.
add UFL's six dependency to download instructions
First stab at working Python expression code
Now with passing tests
Now with documentation
propagate the value_shape name through the code
NotImplementedError for mixed functions
Grammar
Support user-defined args in python expressions

The par_loop is going to call the provided kernel with a list of
arguments, rather than the keyword arguments we're expecting.  To fix
this, in the wrapper we build around the user's eval method, convert
from the arg list into a kwarg dict.
Change the eval call to be Dolfin compatible.
Merge pull request #353 from firedrakeproject/six-dependency

add UFL's six dependency to download instructions
Merge pull request #354 from firedrakeproject/python_expressions

* python_expressions:
  Change the eval call to be Dolfin compatible.
  Support user-defined args in python expressions
  Grammar
  NotImplementedError for mixed functions
  propagate the value_shape name through the code
  Now with documentation
  Now with passing tests
  First stab at working Python expression code
Only allow READ access to Constant coefficients in par_loop

Although in the underlying data model Constants are actually not, raise
an error if trying to write to one in a par_loop, since that's probably
not what was intended.
Add some tolerance when setting boundary labels

When checking whether to label a boundary face with a marker, compare
against a tolerance based on the mesh spacing rather than exact 0/1.
Fix assignment in direct parloop test

Should be = not +=.
Add some tests of par_loops accessing Constant coefficients
Merge pull request #351 from firedrakeproject/constant-par_loop

Constant par loop
Store permutation from new to original cell numbering

We need this to back out the correct coarse to fine cell maps in a mesh
hierarchy.
Add optional distribute flag to mesh creation

If distribute is False, the mesh is already distributed and we should
not do so again.