refactor(timeouts) replace timeouts with contexts
fix(bitswap) don't let receiver close channel

sender will panic when attempting to send on closed channel

https://groups.google.com/forum/#!msg/golang-nuts/pZwdYRGxCIk/qpbHxRRPJdUJ
refactor(bitswap) misc
in-progress: get block operation