[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
Here is an enhancement that I would like to suggest: add a 'pos_class' argument to _log_reg_scoring_path that you use to indicate which class you want to work on, in a multi-class learning setting: the _log_reg_scoring_path function would then do a one-vs-all fit for this class (which also means that you move the LabelBinarizer inside the _log_reg_scoring_path). Then, in the parallel loop above, use itertools.product to loop upon both all folds, and all classes. The code below will need to be changed to work on multiple classes.

The benefits are that the object readily does multiclass, but also that you get a better usage of multiple CPUs.