[MLLIB] SPARK-4362: Added classProbabilities method for Naive Bayes

Added methods which accept an RDD or array and return a map of (label -> posterior prob.) for each input set rather than only returning the key with the maximum value. 
Classes are index from 0, so would it work to return (for each instance) a Vector of probabilities rather than a Map[Double, Double]?  That seems simpler (and more efficient).

Also, I have a PR [https://github.com/apache/spark/pull/3637] for a separate part of MLlib which adds a method like this for predicting class conditional probabilities.  I'd like us to use the same name for the prediction method, but I'm open about choosing a name.  I had used "predictProbabilities" to (a) have it start with "predict" like other prediction methods and (b) leave open the possibility of supporting a similar method for regression algorithms (which can predict probability distributions).  But I'll agree "classProbabilities" is more specific.  Do you have strong preferences?