virt: Cartesian config bug repair.

https://github.com/autotest/virt-test/issues/199

There was too aggressive branch config filtering for achieving
better performance.

Before:
  1) config branch not produce any dict.
  2) save filters which block this branch.
  3) if **one** of filter will be in content next time
     then don't use this branch again.
  =>) wrong filtering

Now:
  1) config branch not produce any dict.
  2) save filters which block this branch.
  3) if **all** of filter will be in content next time
     then don't use this branch again.
  4) else check branch again for new dicts.

Signed-off-by: Jiří Župka <jzupka@redhat.com>
virt: Cartesian config speed and memory optimization.

Memory:
  It uses __slots__  instead of dict in class.
Speed:
  Replaces in most of cases very slow operation Template.substitute
  by faster version.
  These changes reduce time for big config file by 1/4 of time.

Signed-off-by: Jiří Župka <jzupka@redhat.com>