Bitswap rounds

This PR implements the first revision of 'Bitswap Rounds' as defined by @jbenet in issue #417 
this has the effect of making larger files higher priority than smaller files. 

may want to go with

```go
p := INT_MAX // whatever type specified by protocol
for i, k := range ks {
Add(k, p-i)
}
```