Virsh update device

In addition to Jeff's updates (originally pull #901) I moved around blocks of code to help the test "flow" better.  I also updated all the device XML handling code to use the current disk-device ORM code, eliminating minidom.  Finally, I tracked down the exact spot where we can verify modern "compatibility"  ``--persistent`` option behavior.  For now, if the minimum version isn't met, the test is skipped.  However, if we ever need to test pre-behavior change, the logic additions wouldn't be impossibly complex.