Virtnet reduction [DRAFT]

These commits simplify (IMHO) ``utils_net.VirtNet`` and related classes.  I think it's a much clearer division of responsibilities and unambiguous behaviors.  Rather than try and impose relationships upon callers, these changes empower callers by simply providing classes which can work well together.  It also reorganizes a lot of qemu-kvm virt-test specific functionality under a single class, close to related data for consumption.  This permits proper unittesting, whereas prior, it was virtually impossible due to impracticality of unitests for the VM classes.

**DRAFT**: This is still somewhat a work in progress.  I have yet to update libvirt's VM class to make use of these changes (though the high-level interface didn't change much),  I have tested this set of changes with ``boot ping.multi_nics reboot shutdown`` on F19 and they all pass.  However, I'm opening this up early to ask for help running additional tests.  I'm betting some of the other networking tests also need updating, but I'm not experienced in running them.

I'd appreciate feedback on any change or test that seems broken.  Thanks!