[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.
I just realized there is already a method for this: MLUtils.appendBias
Using that might be good since it's more human-readable.