Added interior facet + mixed/vector fs test
Set NumberOfComponents to 3 when writing VFS to PVTU
Merge pull request #260 from firedrakeproject/fix-parallel-vfs-write

Set NumberOfComponents to 3 for a VFS.
Merge pull request #232 from firedrakeproject/int-facet-mfs-test

Add tests of zero form interior facet integrals on both vector and mixed
function spaces.
Turn assemble_mass_bcs into a 2D test
Run boundary condition tests on vector function spaces
Merge pull request #266 from firedrakeproject/test/bcs-on-vfs

Add tests for applying bcs on vector function spaces
Initial import of assembly cache.

This is an essentially unmodified import of George Boutsioukis' code.
Clean up some logic
Replace obsolete debug function
Attempt to move the cache hook

Since assemble now returns Firedrake objects, we need to cache the
thunk, not the assemble. This doesn't work yet.
Fix cache dependencies

The form cache was ignoring whether the Functions passed in as
dependencies the second time around were the same as those used in the
cache. This is clearly wrong.
Some closure magic

Change some variable names to stop the parser getting confused by a closure.
Also realise that the matrix retrieved from cache must be copied in place.
Move the assembly cache to the new location.
Attempt to take BCs into account in the cache
BCs are invalid if their counts differ
Fix bc zeroing semantics.
Move zero inside the thunk.

This means we don't spuriously zero the tensor we're about to reuse.
Cleanup caching code
Move to a global cache control parameter