Similar to secure transports in config, if we don't add the transport to the set, we'll never identify duplicates.
Also, make the libp2p constructor fully useful. There should now be no need to manually construct a swarm/host.