Added ptrs, dereference ptrs & passing value by refernce

* Added the ability to pass a variable by reference
* Added pointer
* Added ability to dereference pointer
* Added low level m_push & m_pop

m_push(expr) allows you to push any expression on to the stack
m_push() leaves any expression on the stack which can then be used as
return value.