Fix incorrect substitution filtering when the classname is no single class but a whole grade
When the classname of a substitution is not a single class, like "5a", but a whole grade, f. ex. "5", then the substitution are filtered incorrectly and added to the plan for all classes. This results in students receiving irrelevant information with their personalized substitution plan. In this commit, such classnames are replaced with all possible valid single class names defined in configuration.py. For example, ["a", "5"] would get replaced with ["6a", "5a", "5b", "5c", "5d", "5e", "5f"]· Now all students in grade 5 can see their substitution, but no one else.