moved the getFurthestNeededByDate() method to bottom of file.
Added getSubgroups() methods, with the ability to exclude groups from the resulting list
Limited overriding percentages to one per sibling group. Added comment as to why. Also added a bunch of other comments, and made variable names more descriptive.
Minor..