Adding the BFGS solver, which calculates the gradient. Did not implement mystic termination in this solver.