Paste @hishboy's lovely stack.go

I'm going to modify it to use my Node types rather than empty
interfaces, so importing it isn't going to work.
Use *BlockNode in Stack
Move node types to a separate file