Add Vector class

Mimics necessary Dolfin functionality for firedrake-adjoint.
Add Function.vector()
Convert indices to numpy array in gather

This is friendlier than requiring the user to provide one.
Add tests of Vector functionality