Bitswap

stylistic: can probably spell it out as `swarm.MessageListener` (clearer to people unfamiliar with how things work, etc)