to the pole and horiz pole check routines, in case they need
their own, custom checking routines, if the usual, simple
checks aren't good enough.
got rid of the allowed-poles table, as it's now obsolete
moved all existing special code into compat.lua, altered to
use this feature.