Added "groupby" parameter that allows users to perform operations within specific groups rather than across the entire dataframe for the missing values and data splitting functions. The changes also include some minor improvements like adding support for LightGBM models in the evaluation framework and better error handling for the feature serving function