BAIL_OUT stops the entire test run - do not want that
MOAR optimization - tracking is_new_res is double work

We can get the root node assembler to do that for us instead

Also remove more of the superfluous ||= assignments
An underdefined root has to use the %cur_row_ids container

Otherwise we are polluting $cur_row_data with the extra "virtual id column"
value, and may end up stashing it back on iterative cursor parsing