New net interface

It's so the proto doesn't get modified later if the slice gets modified. There's a test that protects this behavior:

https://github.com/jbenet/go-ipfs/blob/net/bitswap/message/message_test.go#L58