[SPARK-2934][MLlib] Adding LogisticRegressionWithLBFGS Interface

for training with LBFGS Optimizer which will converge faster than SGD.
Do we have a safe guard to prevent user reset this? Or we can override optimizer as a method and return the LBFGS with the latest set of parameters. The latter sounds better to me.