SPARK-4156 [MLLIB] EM algorithm for GMMs

Implementation of Expectation-Maximization for Gaussian Mixture Models.

This is my maiden contribution to Apache Spark, so I apologize now if I have done anything incorrectly; having said that, this work is my own, and I offer it to the project under the project's open source license.


Should only compute W.sum once, not every iteration.
After that change, it may work well to avoid defining W, MU, SIGMA, and instead calling ```sums.map ...```.  With that change, you will not need the ```(i)``` indices within this loop.