virt-libvirt: New libvirt_xml accessor generators

* Small behavior fix on XMLElementText
* XMLElementBool: Treat "flag" elements as boolean values for presense
* XMLElementNest: Allows "nesting" an arbitrary LibvirtXMLBase subclass
                  then rerooting it's XML under a parent element
* XMLElementList: Represent duplicate child elements (valid in XML) as
                  if it were a list, with values marshaled to/from XML
                  and opaque values.
* Added unittests for all three

Signed-off-by: Chris Evich <cevich@redhat.com>
virt-libvirt: attach/detach device test

Signed-off-by: Chris Evich <cevich@redhat.com>
virt-libvirt: Remove disused VM methods

Signed-off-by: Chris Evich <cevich@redhat.com>
virt-libvirt: Fixup some unittest whitespace

Signed-off-by: Chris Evich <cevich@redhat.com>
virt-libvirt: Implement libvirt_xml.devices.disk

Signed-off-by: Chris Evich <cevich@redhat.com>
virt-libvirt: Rename address device property

Signed-off-by: Chris Evich <cevich@redhat.com>
virt-libvirt: XMLAttribute accessor behavior fix

All other "get" accessors raise xcepts.LibvirtXMLNotFoundError when
their data doesn't exist.  If this returns None, then caller may
mistake the value as None, when there is no value.

Signed-off-by: Chris Evich <cevich@redhat.com>
virt: Fix broken restore() functionality

* The backup/restore logic inherrited by xml_utils.XMLTreeFile
  is backwards from the perspective of a caller.
* xml_utils.XMLTreeFile must re-parse the tree after restoring
  from the backup.
* Provide restore() convenience method so test code doesn't
  need to access xmltreefile attribute directly.

Signed-off-by: Chris Evich <cevich@redhat.com>
virt-libvirt: Don't take screenshots of dead VMs

Signed-off-by: Chris Evich <cevich@redhat.com>
virt-libvirt: Fix short login timeout before reboot

Signed-off-by: Chris Evich <cevich@redhat.com>