Major revamp of the opam input type
Complex boolean expressions are now supported, with synthetic AND and OR
nodes. Trivial synthetic nodes, with only one successor, are collapsed.
The final pass that removes transitive edges can create more such
trivial nodes. We do not yet have a way to deal with that.