[pat.c] split the big switch in patdothread() into a dynamic dispatch, rework everything else to fit
[pat.c] split the big switch in patdothread() into a dynamic dispatch, rework everything else to fit

rnoth/lib