MRG: Mini bach kmeans

Improve the convergence of the minibatch kmeans by randomly reassigning clusters that have too little counts.

I also add a more complex example using the minibatch kmeans. I was working on a similar problem as in the example (just larger scale) when I found the limitations of our implementation and introduced the random reassignement.