use `net/mocknet` in integration tests

This PR adds the `net/mocknet` to the tests/benchmarks that perform the Add/Cat operation.

@jbenet @whyrusleeping 

TODOs:

- [x] remove panics
- [x] revise and cleanup
- [ ] does mocknet require cleanup? `mn.Close()`?
- [ ] when setting up mocknet, is it sufficient to link, but not connect peers?
- [ ] private key generation is really expensive/slows down tests. got any ideas for faster fixture generation that meets `mocknet` requirements? Would @whyrusleeping's parameterized version solve this problem?
1. Package names are not global. they are rebound locally. `tu.Peer` is no longer so clear. 
2. it's `Peer`. please, i'm specifically requesting that we do not expose things named `Peer` anymore that represent an ipfs' peer's Identity, and purport to carry addresses.