Add and use BooleanRule and BooleanRuleset classes to handle boolean variable definitions
Add the BooleanRule and BooleanRuleset classes, add handling of boolean variable definitions in ProfileList and adjust parse_profile_data()
to use BooleanRule.
As usual, add tests for the added code.
See the individual commits for the details.
Note that this MR is also a bugfix - the previous code in (3.0 and master) saved boolean variables at a wrong place, and they were silently lost when writing the profile.
I propose this patch for 3.0 and master - but given the amount of changes and the rare usage of boolean variables, it would also be ok to only apply this to master. (Please decide when accepting the MR ;-)