added 3 methods of depth-first traversal, tests for all four methods
fixed merge conflicts