Bitswap rounds

This PR implements the first revision of 'Bitswap Rounds' as defined by @jbenet in issue #417 
Good catch, -1 is meant to mean 'dont limit the size of this set', but i never got to actually   implementing that logic in the peer set. I think the PeerSet needs some refactoring anyways to clear up some ugly operations...