Bitswap rounds

This PR implements the first revision of 'Bitswap Rounds' as defined by @jbenet in issue #417 
and if it's made to be a function, there are less (readability) worries about releasing the strategy lock before executing it