Allow any arbitrary implementation of k-means

One might want to use a different implementation, say kmeans++ (perhaps `LICORS::kmeanspp`). The new function, `kselection::kselection_fun` allows one to use any function as long as it returns a list-type object that returns `x$tot.withinss` like the standard k-means implementation.

The original `kselection` function is then a special case of `kselection_fun`.