A flexible clustering class that can perform K-Means clustering using n centroids (clusters) and on d dimensional data.