[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.  
Making composite key in the output RDD so reduceByKey can distinguish whether the update is for syn0 or syn1?