Fix docstring of clear_cache
Return early if not rank 0 when ensuring cache dir
Broadcast md5 of firedrake_geometry.h from rank zero

Again, no need to touch the disk on every process.
Silence ffc output except on rank zero
Merge pull request #249 from firedrakeproject/origin/fix/disk_cache

Remove incidences of all processes writing or reading from disk cache.
Declare kernel argument of correct size for interpolating on VFSes

The local tensor is space_dimension * dim (which is 1 for function spaces).
Default to conjugate gradient Krylov method when projecting

The system is SPD so don't explicitly set the KSP type to CG (rather
than the default GMRES).
Don't overwrite user solver_parameters dict

For mixed problems, we set the default pc_type to jacobi by calling
setdefault on the provided parameters dict.  If the user passed one in,
this modifies it in place.  So take a copy for ourselves before changing
it.
Test that carrying out multiple projections is reproducible

    x = project(foo, V)
    y = project(bar, Q)
    z = project(foo, V)

Should result in x and z having identical values.
Merge pull request #252 from firedrakeproject/projection_fix

- Fix declaration of kernel parameter for expression interpolation onto
  vector function spaces.
- Don't stomp on user's parameters dict in solve.
- Switch to using conjugate gradient when projecting.
Always flatten PyOP2 par_loop args
No longer raise exception when using mixed + VFS