if swarm join doesn't specify a [HOST], then cached hostnames should be used to auto-connect to the swarm
only if this fails, a new swarm is created
probably it also makes sense to store a LastSeen timestamp per hostname, so we can remove them from the list after a certain TTL (to be specified, probably a week or so)