virt-libvirt: net_state_dict() use another virsh

This virsh module function becomes a Virsh class method, but
internally it makes other calls to the virsh module directly.
Sometimes this is not what is needed, rather a specific Virsh
class instance should be used (i.e. to run against a remote
system or with special args/dargs).  Added a parameter
with None default to allow this.  Fixed up all references to
this function so they also pass through proper virsh_instance
state.

Signed-off-by: Chris Evich <cevich@redhat.com>
virt-libvirt: unittest virsh isolation

Many unittests require testing codepaths containing
the virsh module and/or Virsh() class instances.  However
it is necessary to isolate them from eachother AND provide
a check to make sure no "real" system-virsh calls are made.

To make this work easier for other unittests, added a
factory function that returns a mocked Virsh() class instance.
Every closed method on this instance will raise a
bogusVirshFailureException (subclass of
unittest.TestCase.failureException).

Now, unittest tests only need to call this function and
override the resulting instance's methods as needed for
testing.  I also added a unittest to do a basic check of
this new unittest helper function.

Signed-off-by: Chris Evich <cevich@redhat.com>
virt-libvirt: Fix for issue #1303

Running these unittests in a specific order resulted in many
failures.  The problem is, the unittests all modify contents
of the virsh module, then they proceede to make shared-access
of the module.  To fix this, isolation of the virsh module for
each unittest would be needed.  However this is not practical
since python likes to save memory by sharing loaded modules.

Since all unittests that use the virsh module normally create
an instance of the Virsh() class anyway, it's much easier to
not isolate the module, but work with a copy of a specially
prepared Virsh() class instance.  This instance can be generated
with the new FakeVirshFactory() function from the virsh_unittest
module.

Signed-off-by: Chris Evich <cevich@redhat.com>
virt: codespell + reindent mass cleanup

Signed-off-by: Chris Evich <cevich@redhat.com>
virt: Fix propcan pylint complaint

Somewhere the new-ness of the class heirarchy is getting lost leading
to these errors:

    # tools/run_pylint.py -q virttest/utils_net.py
    ************* Module autotest.client.tests.virt.virttest.utils_net
    E1001:1221,0: VirtIface: Use of __slots__ on an old style class
    E1001:1334,0: LibvirtIface: Use of __slots__ on an old style class
    E1001:1342,0: QemuIface: Use of __slots__ on an old style class

Adding a multi-inheritance of ``object`` to the base class makes pylint
happy and all unittests run clean.  I'm assuming that means there are
no negative consequences.
Merge pull request #1332 from cevich/issue_1303_fix

Issue 1303 fix