use a third-party pubsub library for internal communications
Insights:
* Within bitswap, the actors don't need anything more than simple pubsub
behavior. Wrapping and unwrapping messages proves unneccessary.
Changes:
* Simplifies the interface for both actors calling GetBlock and actors
receiving blocks on the network
* Leverages a well-tested third-party pubsub library
Design Goals:
* reduce complexity
* extract implementation details (wrapping and unwrapping data, etc)
from bitswap and let bitswap focus on composition of core algorithms
operations
procedure is to execute
```
cd my/github.com/jbenet/go-multiaddr
git pull
cd my/github.com/jbenet/go-ipfs
godep update github.com/jbenet/go-multiaddr
```