Added Stack Type

Haven't written any unit test yet, but I can confirm that it works. Code is fairly self explanatory.

Gets round the lack of pointers by storing the top of the stack as a child of the object (StackData) being pushed onto the stack.