iscsi: Support CHAP authentication for iscsi target and other related updates

* iscsi: Support CHAP authentication for iscsi target
    1. Implement CHAP authentication setup.
    2. Update libvirt secret_xml to use CHAP authentication.
    3. unittest update

* iscsi.export_target: change selinux mode
    1. If selinux is enforcing, when adding a logicalunit to a target during
        iscsi target epxport, you will get the error: 'tgtadm: invalid request'.
        So compromise selinux mode to avoid this problem.
    2. After this change, it's no longer need do selinux mode switch in ```setup_or_cleanup_iscsi()```

Signed-off-by: Yanbing Du <ydu@redhat.com>
Yes, each ```<target/> ``` and ```<volume/>``` may exists alone, i will update it, thx