466ce986a6
We select a peer to ask a block randomly. Peer's send channel has capacity 10. If we need too many blocks we limit number of blocks to asks as a number of peers * 10, which means that there is some probability (pretty high) that we will overflow send buffer capacity. This fix freezes a peer list (which gives also some performance boost) and create a cycle iteraror to equally distribute requests among the peers. There is a risk that a peer may be disconnected while we are sending a request to the chanel, but stricltly speaking it was possible in the old code too, perhaps with a lower probability. Fixes #1748