BUG: cluster.vq.whiten returns nan or inf when std==0

When the standard deviation of a column of the observations is zero,
vq.whiten should raise a warning and set the zero-std to 1.0 to avoid
nan/inf which may cause the kmeans functions work incorrectly.
Fixes gh-3499.