OPT: Increased the code speed by doing the following.
1. Prevent recomputing centroids.
2. Precompute the squared_norms as much as possible, and remove
call to pairwise_distances_argmin_min
3. Cached centroids_ and squared_norms_ to prevent repeated
iteration across subclusters_