Change the choice point stack to be a linked list

Since frames are allocated based on the size of the registers need
to be saved, there is already an object allocation occurring as each
frame is pushed. Move the stack storage into a linked list allows
the stack to efficiently grow dynamically in size to whatever size
is required by the program.
4 files changed