[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).

Also, I'd rather have 'auto', True, False as possible options, for background compatibility, and to be standard with other parts of scikit-learn.