SPARK-4749: Allow initializing KMeans clusters using a seed

This implements the functionality for SPARK-4749 and provides units tests in Scala and PySpark