Races are now fully automatic

Had to rework things quite a bit. It is now essentially table driven,
matched off dealing with one match at a time. All the logic for, say,
match #5, is in one call to 'advance'.