Builds upon pull #1271, which fixes Issue #1234.
This allows multiple peers to provide blocks, not just one. Up to 8 peers can provide blocks in parallel, thereby increasing block download speed by up to 8.
Submitted for comments. I think ideally I’ll add some more code to cater for stuck downloads, so it can give up and move onto another peer. Currently, it’ll only move onto another peer if the selected peer disconnects. It a peer took a long time to disconnect, then all blocks downloaded would be orphans until the missing block was eventually downloaded.
Also, the “8” concurrent downloads is hard-coded, would people prefer this to be a configurable command-line option?