Description of tags for this issue:

- issue571-base: base version before any changes
- issue571-v1: split off class for LabelGroup and related data structure from TransitionSystem
- issue571-base-v2: default branch revision after a few M&S fixes (partly related to Windows)
- issue571-v2: after merging issue571-base-v2 from default
- issue571-v3: in constructor, label reduction of locally equivalent labels, and computation of locally equivalent labels in TransitionSystem, use group ids and methods of LabelEquivalenceRelation rather than manipulating the groups directly
- issue571-v4: label reduction of non locally equivalent labels also uses the new class
- issue571-v5: use a custom iterator when accessing LabelEquivalenceRelation (to hide the underlying containers)
- issue571-v6: use vector instead of list to store LabelGroup objects
- issue571-v7: move all implementation details of LabelGroupConstIterator into cc-file; move the class to its own file; hide LabelEquivalenceRelation and LabelGroup from transition_system.h and its users.
- issue571-v8: LabelGroupConstIterator became TSConstIterator and now lives in transition_system.h/cc. It also has a reference to the transitions, so iterating over TransitionSystem now allows to have access to both labels and transitions
