definitions.py fixes and tidyups
Created by: ColdrickSotK
The first and last of these commits are aesthetic-only patches which attempt to make definitions.py slightly clearer. Whether they succeed or not may be a matter of opinion.
The second commit fixes a bug where we were only looking at one level of subsystems, when in fact they can be nested to an arbitrary depth.