Krinkle reported that when he accidentally restarted Parsoid a second time, that shell hit high cpu load because of the master repeatedly trying to restart the workers on the same port.
So, we need:
(a) a retry timeout
(b) pick a random port if the error was a port conflict