[MLlib] [SPARK-2510]word2vec: Distributed Representation of Words

Vector representation of words. This is a pull request regarding SPARK-2510 at https://issues.apache.org/jira/browse/SPARK-2510
Please leave a note that the variable/method names are to match the original C implementation. Then people understand why, e.g., we map `size` to `layer1Size`.