Make Experimental::GridFunctionSpace accept a VectorBackend
Previously, the Experimental::GridFunctionSpace class would expect a vector data type as one of its template parameters. This was inconsistent with the existing GridFunctionSpaces, which expect a VectorBackend. This patch changes the behavior of Experimental::GridFunctionSpace. It now wants a VectorBackend.
Incidentally, the previous behavior actually required the vector to be an istl vector. This made using alternative linear algebra backends impossible. This is fixed by the present patch as well.