Simpler tailcall implementation.

Changed the tailcall implementation to have fewer "moving pieces" and to
better abstract from the details of the NRE "stack" (actually a linked
list). Changed some NRE-stack specific macros.
merge-mark