[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.  
There is no slicing across both syn0 and syn1, right?