Refactor from Variable being a struct to a class.
Refactor of variable internals to remove boxing from object to/from int/float types.
Refactored some of the stack helpers in thread.
Pulled out ThreadStack into standalone class and added tests.