SPARK-4749: Allow initializing KMeans clusters using a seed

This implements the functionality for SPARK-4749 and provides units tests in Scala and PySpark 
Could you please update this outdated doc here and in the other part of KMeans (now that we use Vector instead of Array[Double])?  Thanks!