frontend, rpmbuild: allow disabling modules in the buildroot
Fix #1631
I find the word "toggle" in this context to be confusing because
toggle usually means switching to the opposite
state (enabled/disabled) than the thing currently is. In this case, we
don't care what the previous state is. So `!foo:bar` always means
disable the `foo:bar` module, not toggle it from whatever state it has
by default to the other one. I was initially a bit confused by this,
so I am clarifying it here for the future reference.
I also updated the tests because once we parse the `module_toggle`
string field on the frontend, we should IMHO generate a following list
of dicts (I would prefer tuples though):
[{'disable': 'XXX'}, {'enable': 'YYY'}, {'enable': 'ZZZ'}]
Instead of the previous one
[{'disable': '!XXX'}, {'enable': 'YYY'}, {'enable': 'ZZZ'}]
This way, copr-rpmbuild doesn't have to know the syntax of that string
field.