Add implementation of stack data structure.

I be we could get the two lines in this "if", and the three in the "else", down to one line each.  In the if, we're currently binding the result of "Node(node_name)" to an identifier "node," and then turning around and binding to "self.head" the object pointed at by "node."  In the else, why do we need an old_head identifier?  self.head isn't going to change until we assign something new to it, which we do on the last line.