[SPARK-3382] GradientDescent convergence tolerance

GrandientDescent can receive convergence tolerance value. Default value is 0.0.
When loss value becomes less than the tolerance which is set by user, iteration is terminated.
No need to split arguments across multiple lines; I would leave this as it was. It's OK to have a line wrap in the middle of the argument list, if needed to make each line < 100 chars.