Reconstruct only fixed index on VectorFunctionSpace

When splitting an expression we only want to reconstruct indexed
nodes for a FixedIndex into a VectorFunctionSpace, since we don't
split those. Otherwise we return Zero() if it's a non-matching fixed
index or only the coefficient if it's not a fixed index.
Add expression tests: assign of difference, product
Merge pull request #124 from firedrakeproject/fix-indexed-vfs-split

Reconstruct only fixed index on VectorFunctionSpace

When splitting an expression we only want to reconstruct indexed
nodes for a FixedIndex into a VectorFunctionSpace, since we don't
split those. Otherwise we return Zero() if it's a non-matching fixed
index or only the coefficient if it's not a fixed index.