Bitswap

Missing here is that we could be tracking our `partners` last-received wantlists, so we could see who wants this block and send it right away. I'm not too sure about this, may be premature optimization, because it could waste lots of bandwidth for reducing latency. this will be impt to test/model.