Add deep copy ctor and default node ctors.

- I've added a deep copy constructor for the InternalNode C++
binding. This way when an InternalNode is copied its internal
node list gets copied as well.
- I've also added default constructors
for all the Node objects in order to be able to have a default
 safe state.
- I've changed the cue copy constructor to either copy the
InternalHead of the copied object if it is valid or assign it
null if it is not.
- Finally I've removed the capability for Nodes to have parents.
This code was not being used and it was not fully implemented.