Done, except for the tests in PATCH 7. I agree with the QAPI schema language change.
Having this many classes just for conditionals feels tiresome. I'm tempted to try axing all but one just to see how it comes out. This is not a demand. Let's discuss my review comments, and then figure out what still needs to be done to get merged.
