[MRG] Fix MiniBatchKMeans 

This is a follow up on @amueller's PR:
https://github.com/scikit-learn/scikit-learn/pull/2638

The code was rebased on master

A minor test failure on my box was fixed

The strategy has been switched to uniform drawing of centers in the population.

@ogrisel, @amueller, please review. I believe that this should go in for 0.15.
The comment "# maximally assign reassignment_ratio*batch_size samples as clusters" does not seem to describe what is implemented here.

Furthermore I don't understand why we would reassign 50% of the batch size. Instead I think should reassign max 20% of the center at once, that is `int(.2 * self.n_clusters)`.

WDYT?