[MRG+1] LDA refactoring

OK, here is a new version of the LDA class with (optional) shrinkage. The one in #3105 was already very messy, so I thought I'd start from scratch. By default, nothing has changed and the old SVD-based code is used.

TODO list:
- [x] fix travis failure
- [x] deprecation for `store_covariance` fit parameter if possible.
- [x] add entry in whatsnew
- [x] add check that the two new solvers are the same up to high precision
- [x] add a regression test for the transform shape as in #1967 (was already there).
- [x] add some note to the docs which of the two solvers to use.
- [x] rename `ledoit-wolf` to `auto`.
You should not store this attribute, rather do
```python
else:
    store_covariance = self.store_covariance
```
and use ``store_covariance`` in this function.

The deprecation warning should also say which version this will be removed in, which I think is 0.17.
So ``'store_covariance' was moved to the __init__() method and will be removed from fit in 0.17" or something like that.