Added Gradient method and tests.

Gradient computes finite differences of vector-valued function using finite difference
go vet pointed out this is missing an arg for %v