[MRG] add latent semantic analysis/sparse truncated SVD

Reissue of #1519 with `LatentSemanticAnalysis` renamed `TruncatedSVD`. I didn't touch `RandomizedPCA` and I don't intend to in this PR.

Docs and 20news clustering example make it very clear that this is LSA, for NLP/IR folks looking for that transformation.