Added Gradient method and tests.

Gradient computes finite differences of vector-valued function using finite difference
same as above