asyncjob: Fix issues with multiple dialogs (bz 1003101)

Basically, drop usage of nested main loops. As has been documented in
other commit messages, we use nested main loops in ways they aren't
supposed to be used. They gave us async behavior that would block
callers, but had weird behavior in some edge cases.

Switch to having async dialogs be 100% async, requiring the user to
pass in a completion callback which is triggered after the async
action is complete.
addhw: disk cache default should be 'default' not 'none'
Replace get_property("sensitive") with get_sensitive
addhw: Fix error if no host devices are available
addhw: Convert usbredir UI to grid
addhw: Use gtkgrid for network UI
testdriver: Drop test-many-nets

It doesn't even have as many nets as test-many-devices
addhw: Simplify chardev UI

The previous UI was a ugly and the doc text wasn't particularly helpful,
just make it work like the other UI.
addhw: Drop intro text, simplify UI alignment
tests: cli: Fix fallout from testdriver alterations
xmlbuilder: Fix multiple overwrite of root_xpath

Nothing really triggers it right now, but future code may
guest: Simplify remove_device
guest: Fix adding a parsed device to a built guest
xmlbuilder: Add infrastructure for parsing into subclasses

We already had this open coded in several classes with varying methods.
Now all someone has to do is

features = XMLChildProperty(CPUFeature)

The xmlbuilder code will pull the relevant xpath from the CPUFeature class,
handling parsing into instances of that class directly. The only
thing that needs to be manually added is the add_* remove_* functions.
Fix some pylint
xmlbuilder: Distinguish between parent xpath and object xpath

We want to add support for nested objects, like child interfaces
in virInterface definition. To do that we need to distinguish between
parent xpath and relative object path.

This causes a 10-15% slow down in the unit test suite for me. There's
probably opportunities for speeding this up.
Fix pylint warnings with latest version
xmlbuilder: Track singleton child properties explicitly

Things like Guest.Seclabel, VirtualDevice.VirtualAlias, etc.

Now we don't need to track a full xpath with each class, just its root
name and we build its hierarchy depending on its parent.
xmlbuilder: A couple optimizations

This brings the test suite back to pre-refactor speeds
Simplify XMLProperty declarations