add a signal macro and a defined signal for redirect
change get-page to take a buffer
change the API to include REDIRECT handling via non-local exit