obtain fiat_element via FFC function
Merge pull request #307 from firedrakeproject/fiat_elt_via_ffc

obtain fiat_element via FFC function
Remove dangling symlinks from PyLit
Accept kwargs in Expression construction

This allows users to define additional variables in the Expression
constructor that they can refer to by name in the code snippet.  Both
scalar and vector-valued variables are supported (the latter indexed in
the normal single-indirection way).  The value of the variable is
available on the Expression as a public property of the same name (which
also allows setting of values).
Wire Expressions with user arguments into interpolate

If the expression has user-provided arguments, we need to arrange for
them to be available in the kernel body and pass them to the par_loop.
Test expressions with user-provided arguments
Add state slot to Expression

Bumped whenever a value in the expression is modified.
Record original value passed in to DirichletBC constructor

We will need this to do the right thing for bcs with Expressions that
contain user-provided arguments.
Re-interpolate Expression if state has changed

If the user has modified a value in an Expression that cached
function_arg on the bc is wrong, so notice this and update it.
Add tests of BCs with user-provided Expression arguments
Update docstring of DirichletBC constructor
Test modifying constants in bcs
Add section on time-dependent bcs to docs

Mention usage of Expressions with user-provided arguments and Constants
as well as literal values.
Merge pull request #310 from firedrakeproject/expression_values

Add user-defined variables to Expressions (more Dolfin-compat).

* expression_values:
  Add section on time-dependent bcs to docs
  Test modifying constants in bcs
  Update docstring of DirichletBC constructor
  Add tests of BCs with user-provided Expression arguments
  Re-interpolate Expression if state has changed
  Record original value passed in to DirichletBC constructor
  Add state slot to Expression
  Test expressions with user-provided arguments
  Wire Expressions with user arguments into interpolate
  Accept kwargs in Expression construction
Fix header levels in variational problems documentation
Plausible non-extruded implementation

Include the boundary node discovery method in the BC creation methods.
Currently untested.
Fix error norm for constant solutions

Fix error norm so that Constants and Expressions can be used as the
exact solution.
Geometric boundary conditions test.
Disable geometric boundary conditions for extruded
Add short section in docs on geometric BC method