* Made ExtensiveDataNode know its parent,
* Created NullExtensiveDataNode to act as root's parent.
* Created program.hpp for consitency.