[MRG] Incremental PCA

An implementation of Incremental PCA. 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 constant memory (on the order of the ```batch_size``` rather than ```n_samples```).
I would rephrase this:

`IncrementalPCA` makes it possible to implement out-of-core Principal Component Analysis either by:

- using its `partial_fit` method on chunks of data fetched sequentially from the local hard drive or a network database,

- or calling its `fit` method on a memory mapped file using `numpy.memmap`.