Don't need to update solver parameters on every solve

Since we now copy the dict, the only way the user may update the
parameters is by using the public property setter, which already
arranges to call update_parameters.
Fix assembly cache MatCopy in parallel

The non-zero pattern is different, because PETSc compresses out columns
in the off-diagonal piece.
Test manifolds in parallel as well as serial

The RT integrals needs the cell orientation in the halo to be correct,
which is now tested in parallel.
Initialise cell_orientations correctly in parallel

We define cell orientations on the cell set of the mesh, but this set
has no halo object (we can only do halo exchanges on dof sets).  Hence,
in parallel, the halo region of the initialised cell orientations was
incorrect.  Instead, build the cell orientations on the DG0 function and
then copy the resulting values back into the Dat defined on the cell
set.
Merge pull request #272 from firedrakeproject/fix/parallel-cell-orientations

Initialise the cell_orientations Dat with correct halo data in parallel.
Revert "Don't need to update solver parameters on every solve"

It turns out we do need to do this, if the user builds a solver object
and sets an entry in the parameters dict then this change broke that use
case.

This reverts commit 45f772d61e276918024e6955618d24a01ea119af.
Add dtype argument to Function

Allows construction of fields with non-default data type.
Build cell orientations as DG0 field

Rather having a special cell orientation Dat that lives on cells, just
build it as a normal field, excepting that it has an int datatype.  This
simplifies our life enormously when passing cell orientations for
non-cell integrals.
Bump compatible FFC version
Test co- and contravariant facet integrals on manifolds

We should be able to assemble facet integrals in H(div) and H(curl)
spaces on embedded manifolds.  Test this by assembling an interior facet
integral with positive and negative restrictions and assert that it sums
to zero.
firedrake-clean: also prompt to clear pyop2 cache
firedrake-clean: also clear mesh cache
Add docs section on cleaning caches in download
Merge pull request #253 from firedrakeproject/cache_clean

Document how to clean caches and make firedrake-clean nuke everything.
docs: Make apidoc depend on generated files

This fixes ordering issue when building docs from clean checkout.
Merge pull request #277 from firedrakeproject/more-cell-orientation

Use DG0 field to hold cell orientations and pass in to kernels for facet
integrals as well as cell integrals.
Rename ir into coffee
Rename coffee's optimizations
Working latex manual generation.
Remove mesh.compute_boundaries

It's always been a no-op and we're never going to use it.