Bitswap rounds

This PR implements the first revision of 'Bitswap Rounds' as defined by @jbenet in issue #417 
In blockstore: 

```Go
var ErrNotFound = ds.ErrNotFound // or u.ErrNotFound
```

here: 

```Go
if err == blockstore.ErrNotFound { ... }
```