Re-factored tree, types and constants.

- The constants file was removed. Its include statements appeared risking becoming too ubiquitous for my liking. Later I may write some documentation about which macro constants may be overridden instead.
- The contents of tree.c/h and types.c/h were split up into the files tree.c/h, node.c/h, and types.c/h.