[MRG] Avoid duplicated methods whenever possible + more robust parameter passing

The main goal of this pr is to ease maintenance.
This can be factored out as a `_set_classes` helper. I don't see why a regressor should have `n_classes`, though...