Register allocation and bug fixes

I also fixed branching logic so that the simple_while.cpsl would work.

String writing stops me from testing some of the other tests like simple_if.cpsl, etc.
At a minimum this debug only code needs to be moved into an anonymous namespace, but I think I would prefer to have it removed.  A comprehensive verbose mode would be a reasonalbe issue to add if desired.