generalized Cumulator class

It looks like all sklearn regressors are broken since those algorithms require more than one input to self.scikits_alg.fit. Since Cumulator silently drops all but the first arg ((note: zip(["data"],[1, 0]) yields [("data", 1)])), getting these reggressors to work requires this class to be changed.

Suggested subclass call would be like:
def _stop_training(self, **kwargs):
    fit_args, fit_kwargs = super(Child, self)._stop_training(**kwargs)
    self.scikits_alg.fit(*fit_args, **fit_kwargs)