Bitswap rounds

This PR implements the first revision of 'Bitswap Rounds' as defined by @jbenet in issue #417 
continue even after a critical error? `continue`? `return` ? `runforthehills`?