[MRG] Logistic Regression CV

Continuation of the work by @fabianp and @GaelVaroquaux 

TODO's

- [x] I think the some of the private functions in logistic.py can be simplified. In particular, it is my intuition that we could squash some of the functions _logistic* and _logistic_*_intercept without sacrificing a significant amount of performance

- [x] sparse matrix support (any help from the people who actually use sparse matrices would be great here)

- [x] implement multinomial logistic or raise a meaningful error for multiclass pointing to OvA, OvO meta-estimators

- [x] More tests for LogisticCV object (and some are failing)

- [x] Document tolerance and stopping criterions
@GaelVaroquaux I'm sorry if I was not clear. I had the following concerns.

1. Since we are using a StratifiedKFold with a one-vs-all, we cannot just iterate
     
         for train, test in folds

and we would need to have separate folds for every class, (to maintain the percentage of classes for each OvA that we are doing). 

2. What do we about the case in which, we get different regularisation parameters, for each class? How do we deal with this? both in the API and the final fit in the logistic_regression_path,