ENH don't recompute distances in MBKMeans

Previous code not only redid computations, but used 2 * n_clusters * batchsize
space to do it, orders of magnitude more than is required in the sparse case.

Fixes #1765.