AddCat Bitswap Integration Tests

**features**
* adds delay/latency configuration to the `datastore`, `Bitswap.VirtualNetwork`, and `mockrouting` types.
* adds benchmarks to observe the effect that (each type of) latency has on AddCat performance.
* adds long-running integration tests. execute with env variable `IPFS_EPIC_TEST`

**learnings**
* of the three types of latency, routing has the largest adverse effect on performance https://build.protocol-dev.com/job/addcat-benchmarks/4/console
* 500 MB transfer with "NY to SF" network latency, "SSD" blockstore latency, and 200ms routing latency runs ~forever. We now have a reproducible test case. https://build.protocol-dev.com/job/gotest/168/console

**status**
* Still playing around with variables.
* Will squash commit history before merging
* we may want to rebase the new bitswap changes on top of this for testing @whyrusleeping 
* nice-to-have: mock out the network at a lower layer
* I hereby dedicate this PR to Riff Raff. https://www.youtube.com/watch?v=TL0RqEsF_mY
before
```
BenchmarkInstantaneousAddCat1MB	      20	  91798436 ns/op	  11.42 MB/s
BenchmarkInstantaneousAddCat2MB	      10	 180849588 ns/op	  11.60 MB/s
BenchmarkInstantaneousAddCat4MB	       5	 360574235 ns/op	  11.63 MB/s
BenchmarkInstantaneousAddCat8MB	       2	 719927342 ns/op	  11.65 MB/s
```

after
```
BenchmarkInstantaneousAddCat1MB	      50	  32412242 ns/op	  32.35 MB/s
BenchmarkInstantaneousAddCat2MB	      50	  64622451 ns/op	  32.45 MB/s
BenchmarkInstantaneousAddCat4MB	      20	 199377593 ns/op	  21.04 MB/s
BenchmarkInstantaneousAddCat8MB	       5	 419447024 ns/op	  20.00 MB/s
```