Made element text immutable
Moved XML source information from document to elements

This is in preparation for removing document.
Removed Qdom.document

Instead of keeping a shared mutable list of prefixes, each node now
contains a prefix hint. The actual prefixes are generated from these
hints when we output the XML.

This simplifies some APIs by removing the need to pass around document
arguments or import nodes.
Don't mutate XML passed to Selections.create
Removed Qdom.import_node
Allow specifying child_nodes when creating new elements
Make child_nodes immutable

Removed Qdom.prepend_child and insert_first.
Removed Qdom.set_attribute_ns
Removed Qdom.set_attribute
Made Qdom elements immutable