Added to_xml to outputs valid XML

to_uddf outputs valid UDDF, but does not include the <?xml?> header
Refactor XML to_elem to use #nodes and #nodename methods
Begin adding Diver class
Create a UDDF::Base class for common object structures
Refactor tests to include UDDF::Base testing
Sanitize UDDF::Base#new arguments before passing to #instance_variable_set
More preliminary work on UDDF::Diver
Add methods: 'add_node', 'delete_node', and 'has_node?'