[WIP] Incremental PCA

Work in progress for Incremental PCA. It seems pretty close, ~~but the SVD is still flipping around dimensions. Adding ```svd_flip``` seems not to help.~~ ```svd_flip``` did help. ~~Currently, the computation is on columns, because the original paper is done this way, and converting to row based was very difficult.~~ After getting a stable version, it was pretty easy to switch to a rows as samples format. See [Incremental Learning for Visual Tracking, J. Lim, D. Ross, R. Lin, M. Yang, 2004](http://www.cs.toronto.edu/~dross/ivt/LimRossLinYang_nips04.pdf) for more details.

The key idea behind this PR is to have an out-of-core PCA that gives roughly equivalent results while using less memory (on the order of the ```batch_size``` rather than ```n_samples```).
In this row-based version of the code, is the QR decomposition necessary again? As far as I read, it may not be. (If you don't do it, `Q` should be absorbed in `U` and `S, V` should stay the same.) If I am wrong, can you remind me what the issue was?