Bitswap rounds

This PR implements the first revision of 'Bitswap Rounds' as defined by @jbenet in issue #417 
Got it. Makes sense. I'll have to make sure to follow suit. Let's use `Close() error` so it conforms to the standard Closer interface.