Right now in `h2o.stack`, we can only use models that were cross-validated using Modulo folds. Add support for arbitrary (user defined) folds. https://github.com/h2oai/h2o-3/blob/master/h2o-r/ensemble/h2oEnsemble-package/R/stack.R#L62
This block of code requires "Modulo" folds to have been used. To open up to other fold schemes, we should extend this check to the following:
- First check if Modulo is used in all models, if so, we are okay
- If Modulo was not used in all the models, check if the folds were saved by setting `keep_cross_validation_fold_assignment = TRUE` in all models, and if so, check that the folds are identical across models.
- If there is no way to tell that the models were cross-validated using the same folds, then allow the user to still train the model, but print a warning message that says the following:
Related ticket: https://0xdata.atlassian.net/browse/PUBDEV-2901