Added OPTIMIZER concept. Changed k-means to use this. Other clustering algorithms still need to use it.