Added Gradient method and tests.

Gradient computes finite differences of vector-valued function using finite difference