Implement Vector._scale
Use PyOP2 rather than PETSc for Vector manipulations

So we don't necessitate needless host-device copies, use PyOP2's support
for linear algebra operations to implement axpy and friends.
Additionally, simplify access to the vector array now that data
accessors don't return halo points.
Add more tests of Vector functionality
Merge pull request #48 from firedrakeproject/vector-scale

Implement Vector._scale for Dolfin compatibility and update
implementation to use PyOP2 rather than PETSc linear algebra
operations (ensures data stays on device if it can).