Add VectorSpaceBasis object
Hook nullspace into solving interface

When solving a singular system you can now pass a VectorSpaceBasis
spanning the null space of the operator as the nullspace argument to
solve and it will be removed in the solve.
Add test of nullspace argument to solve

Solve a singular Poisson problem, removing the null space of the
operator using the new nullspace argument to solve.
Add section on solving singular systems to docs

Describe how to remove null space from such systems and give a short
example.
Merge pull request #174 from firedrakeproject/nullspace

Add ability to define (and then remove) the null space from singular
operators.