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

The main goal of this pr is to ease maintenance.
Ok, I will revert the change for the predict functions. However, I don't think it's worth to do the same for fit.