Make changes requested in pull request from sundberg

remove 'using' statements
renamed 'RegMeta' to 'RegisterScope'
moved 'RegisterScope' to its own class
moved register allocation to its own file
removed typedefs
removed debug code