[MRG] Kmeans memory problem

ENH: Precompute distances only if overhead is below 100MB

Precomputing distances can consume a lot of memory if several jobs are
used. With 8 jobs a dataset of shape (1e6, 2) and n_clusters=100 the
precomputed distances will consume 3GB of memory while the dataset only
consume 15MB (Assuming double precision is used).

When we do an error message like this, we usually put in something like "', but a value of %r was passed % precompute_distances". It helps users figure out what they made wrong.