[MLlib] Word2Vec performance improvement

@mengxr Please review the code. Adding weights in reduceByKey soon. 

Only output model entry for words appeared in the partition before merging and use reduceByKey to combine model. In general, this implementation is 30s or so faster than implementation using big array.  
We can keep syn0 and syn1, but it adds some unnecessary slicing operations on array.