chore: better address parsing
chore: better address parsing

Use ma.SplitFunc instead of splitting the entire multiaddr and comparing bytes.
This avoids a bunch of unnecessary allocation and copying.

libp2p/go-libp2p,libp2p/go-libp2p