refac(bitswap:interface) GetBlock, HaveBlock -> Block, HasBlock
feat(util:testutil) add func to generate blocks in tests
refac(bitswap:notif) replace block generating func
feat(bitswap) impl offline exchange
refac(bitswap:message) accept block by value
refac(bitswap:exch) HasBlock(ptr) -> HasBlock(val)
refactor(bitswap) rm SetStrategy method

remove this setter while the interface is under construction
wip(bitswap) port service wrapper
refactor(bitswap) rename bitswap/transmission -> bitswap/network

makes more sense this way
feat(net:service) add SetHandler method

Allows the service to be used through an interface.

NB: If the handler is exposed directly, clients of the service cannot swap out their concrete references and replace them with interfaces
feat(bitswap:network) define a service interface for use with net/service/Service
refac(bitswap) simply network interfaces