Cache PETSc vectors created from Dats

Cache a PETSc vector created from a Dat based on its dimensions and memory address on the Dat object.