Changed 'head' to 'root' because my retarded self named the root of the tree 'head'
Added some defines
Added traversal callbacks. Thanks to Hugo
Added some useful defines
Merge branch 'master' of github.com:HugoSTorres/Barry_CS-331