Tree improvements - cleaned up classes, added traversal and printing
methods, refactoring and some big fixes