Changed return type of kmeans() to return the clusters and centroids: { clusters, centroids }.
Added toJSON() method (serializes centroids).
Added fromJSON() method (deserializes centroids).
Added K-Means++ initialization, to replace random initialization of cluster centers.