[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
And also how do we handle the case in which the regularisation parameter is different for different classes? How do we provide these values to the user and `logistic_regression_path` ?