Bitswap now uses peer.ID

The only problem is a panic in bitswap/testnet :(
Not sure what's going on.
diagnostics now uses peer.ID
core now uses peer.ID
ipns now uses peer.ID
Network: added notion of versions (h1) to h3
Commands learned to use peer.ID