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 set the default in the one public constructor instead since that's where other defaults are set?