WIP Dimensionality reduction using LSA/LSI

Following the recent discussion on the ML, I decided to implement latent semantic analysis (LSA) for dimensionality reduction. The code works (try the clustering example with `--lsa=100`), the tests pass and there's documentation, but...

* the docs need some more love
* there's no doctest
* maybe this should have a more general name, like `ReducedSVD`; it's only LSI when applied to term count matrices

Let me know what you think!