reuse the same router until we change listeners
reuse the same router until we change listeners

Technically, someone can set net.ipv4.ip_nonlocal_bind=1 to bind to
non-existent IP addresses, but I'm comfortable making this change and
seeing if anyone complains. I highly doubt it'll have any impact.

If it doesn't work out, we have other options (e.g., catch the "invalid
route" error and try again).

fixes #238

libp2p/go-libp2p,ipfs/go-libp2p,libp2p/go-libp2p