Handle bolus and wizard objects

@jebeck @kentquirk 

These are the changes to handle wizard and bolus objects.  With this, all of the object types should now be handled, so next up is actually running this thing against some real data and either rejoicing that it works or fleshing out unit tests.

Let me know what you think.
And in fact in my perusal of some real data, I'm seeing a different order than what's encoded here and in the 'sanity' test: I see dual/normal, dual/square, wizard ordering, not dual/square, dual/normal, wizard.