[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.
It would be good to note what convergence tolerance is.  In particular, can you please note that it is compared with the change in the objective between consecutive iterations?