Minor performance improvements
Remove end-game code

Peers will already assist with busy pieces when there’s no other piece
to choose.
Rewrite download strategy

When all pieces are busy (being requested from a peer), a busyness
level is maintained per piece to spread peers among the missing pieces
instead of having them all request the same piece.