topo: do not use switch state for host discovery

There may be multiple hosts connected to a port, especially in the case
of a wifi network. Instead of using the list of ports that the switch
discovery module is waiting to discover, see if the host exists in the
topology. If it's in there, don't add it again. If it's not in there,
add it.