initial setup
added print method with simples degenerate case - when there is no next defined
added print method implementation for next simplest case when there is a next defined
verified print method with multiple links in the chain
added most degenerate case for reverse method
added recursion for reverse method