Some fixes to bitswap + dht

This really feels like a stack overflow waiting to happen (even though you cant overflow go's stacks)