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 #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