[SPARK-2979][MLlib] Improve the convergence rate by minimizing the condition number

Scaling to minimize the condition number:
During the optimization process, the convergence (rate) depends on the condition number of the training dataset. Scaling the variables often reduces this condition number, thus mproving the convergence rate dramatically. Without reducing the condition number, some training datasets mixing the columns with different scales may not be able to converge.
GLMNET and LIBSVM packages perform the scaling to reduce the condition number, and return the weights in the original scale.
See page 9 in http://cran.r-project.org/web/packages/glmnet/glmnet.pdf
Here, if useFeatureScaling is enabled, we will standardize the training features by dividing the variance of each column (without subtracting the mean), and train the model in the scaled space. Then we transform the coefficients from the scaled space to the original scale as GLMNET and LIBSVM do.
Currently, it's only enabled in LogisticRegressionWithLBFGS

`minimize the condition number` is not accurate. We can say `scaling columns to unit variance as a heuristic to reduce the condition number`.