Move all remaining join dependency stuff from squeel.

- add a TreeNode module to abstract all behaviors in the walk_tree method
Merge pull request #14 from bigxiang/move-all-jd-here

Move all remaining join dependency stuff from squeel.