Fix bug when several targets are associated with the same portal

When several targets are associated with the same portal, the target
registration fails with the Microsoft iSNS server (the OpenIndiana
iSNS server is OK).

For instance, the following LIO configuration fails with the Microsoft
iSNS server.

  o- iscsi
    o- iqn.2003-01.org.linux-iscsi.hostname.x8664:a
    | o- tpg1
    |   o- portals
    |     o- 0.0.0.0:3260
    o- iqn.2003-01.org.linux-iscsi.hostname.x8664:b
      o- tpg1
        o- portals
          o- 0.0.0.0:3260

This patch contains two changes:

 1/ The portal information is listed first in the iSNS PDU (i.e.
    before the iSCSI nodes and TPGs)

 2/ A given portal is listed only once in the iSNS PDU. A cache of
    portals is built in isns_target_register() to ensure that there is
    no duplicates. The Microsoft iSNS server probably enforces the
    following requirement from RFC 4171:

    5.6.5.1. Device Attribute Registration Request (DevAttrReg)

    "A given object may only appear a maximum of once in the Operating
     Attributes of a message"

Signed-off-by: Christophe Vu-Brugier <cvubrugier@yahoo.fr>