Adding k-means clustering

Untested, initial centroids are dumb, no sanity check on inputs