getGroupsFromDesign: Split input matrix(es) based on the design matrix.
Description
This function splits the input matrix(es) based on a design matrix, into a named list of subsetted matrices. If the design matrix has no names, this function will create names for the resulting list of matrices.