Allow specification of sample groups from CLI options

Until now, the regex defining which groups are assigned to sample
names have been defined within the code, limiting the group number
and file names. This was in part due to previous constraints on
ANOVA analysis (which required a set group size anyway).
However, now that group size is dynamically set for statistical
analyses, group membership could be assigned for each run.

The group settings can maintain their default setting if not set,
which is useful for the original broodswap dataset this program
was originally written for. Otherwise, any regex group list
passed into the options will be used for all statistical analyses
downstream, with the exception of the find_expression peaks
function, which still has a non-standard group assignment (to be
fixed in a later release - for now it requires a default file
name set).