As far as I understand, `group` is specific to to LambdaMART and only affects the underlying loss function `ndcg`. Is it really necessary to pass this argument down to the parent `BaseGradientBoosting`. Wouldn't it be possible to simply instantiate the loss function in `LambdaMART`, passing  `group` in its constructor? That way, we don't have the `group` argument to sneak into the base implementation.