[SPARK-4711] [mllib] Programming guide advice on choosing optimizer

I have heard requests for the docs to include advice about choosing an optimization method. The programming guide could include a brief statement about this (so the user does not have to read the whole optimization section).

CC: @mengxr
This part might not be true because we implemented mini-batch SGD but obtaining a mini-batch from an RDD is expensive, which requires one pass, while computing the gradient is not super expensive. Maybe we can also mention this trade-off.