Added in an example test to show the use of the Deferral factory, plus corrected some silly mistakes made in the factory API. The example test does not pass by visual inspection.
WIP: introduce the concept of splitting syntheses into alternatives that conform to the same deferral budget - this allows subtrees to vary indepenently, as long as at least one actually uses up the budget. I can't even believe this code compiles. It does pass the existing tests, though. OMG!
WIP: introduce the notion of the number of deferrals actually spent on the way down to a terminal node. There is a bug - doesn't progressively deepen.