This makes it so that the actual hosts list is modified by setting hosts to start or end at. One of the effects of this is that we will get cleaner progress-reporting, since it will be based on the actual size of the push, and not the size of the host list before these restrictions are applied.
Turns out that it was always recreating the connection every single time which is very wasteful when you do a half dozen actions on a single host in quick succession. Oops. A test of a deploy similar to a common-case "-pc -dc -r all" with ~280 servers showed total deploy time going from 17 to 6.5 minutes. In the prior case 10 minutes in total were spent waiting on connection establishment and after the patch that drops to 94 seconds.
A word is used to seed the random number generator before shuffling the host list. By default, the word is the push's name. If an override is specified on the command line (via --seed) that word will be used instead, allowing one to get the same shuffled hostlist as used in a previous push.