Kmeans cleanup

We could actually keep the pattern with the _Impl suffix also for the new implementation.
The idea is to hide internal helper methods in those objects, see for example @iglesias LMNNImpl class