Merge pull request #609 from yangdongsheng/virshpersistent

libvirt: Virsh: session manager fixing.
qemu.tests: small bug fix in nmi_bsod_catch

Give a default value "" to reboot_after_config. Otherwise it will raise
an TypeError(argument of type 'NoneType' is not iterable) when it is None.

Signed-off-by: Yiqiao Pu <ypu@redhat.com>
shared.unattended: enable serial console in SUSE guest

update autoyast.xml to enable serial console in SUSE guest;

Signed-off-by: Xu Tian <xutian@redhat.com>
virttest.staging.service: Introduce a class named ServiceManagerFactory.

Introduce a class named ServiceManagerFactory to create kinds of service manager.
* Class ServiceManagerFactory provides two staticmethod to create generate service manager
and to create specific service manager.
* Internal class named FactoryHelper to provide some help method for ServiceManagerFactory.

Relationship of the classes in service module.

                                        service
                                           |
                          -------------------------------------
                          |                                   |
               _GenericServiceManager                _SpecificServiceManager
                          |
            -----------------------------
            |                           |
      _SystemdServiceManager   _SystemdServiceManager

* ServiceManagerFactory provides two interfaces to create service.
    * create_specific_service_manager() to create _SpecificServiceManager.
    * create_generic_service_manager() to create _GenericServiceManager.
      * FactoryHelper provides a method get_service_manager_type() to
      auto detect the system type and return constructor of
      _SystemdServiceManager or _SystemdServiceManager.
      So, user do not have to know about the system type when they use
      create_generic_service_manager() to create _GenericServiceManager.

Signed-off-by: yangdongsheng <yangds.fnst@cn.fujitsu.com>