epictest: add setup logging
muxer: log precisely which muxer (useful in tests)
epictest: fix mn.Peers() setup race

@maybebtc the error was not inside mocknet. the error is in
assuming the peers / nets returned follow the same order.
See:
- https://github.com/jbenet/go-ipfs/blob/master/epictest/addcat_test.go#L100
- https://gist.github.com/jbenet/a39bb9d2f16532a03bb8

if you want the results to be sorted by peer.ID before they
are returned, we can totally do that, but that's probably an
unsafe assumption to make in general-- if you do your
initialization async, the number of networks or peers may have
changed between the two calls. LMK what you prefer.

(thank you golang map chaosmonkey ;)
doc: specify iteration order randomization
Merge pull request #476 from jbenet/epictest-race-fix

epictest race fix
updated go-peerstream (close fix)
Merge pull request #477 from jbenet/stream-close-fix

updated go-peerstream (close fix)
rewrite of provides to better select peers to send RPCs to

refactor test peer creation to be deterministic and reliable

a bit of cleanup trying to figure out TestGetFailure

add test to verify deterministic peer creation

switch put RPC over to use getClosestPeers

rm 0xDEADC0DE

fix queries not searching peer if its not actually closer
a couple small fixes