New method to deep copy a configuration node.

The upcoming YAML alias support will require
deep copies of nodes to be created instead of just
pointers.  This is required to retain the child
parent relationship of the nodes, as well as to
allow a copy to be modified without affecting the
original.