getlantern/lantern#1937 Limited rate of redialing

If we wanted this error to propagate upward, this would be an interesting use of the channel of channels of errors pattern.

Basically, this would take a channel of errors instead of a WaitGroup and would return the error or nil on that passed channel. That would allow the caller to receive the error or nil.

Not that a caller of Stop would necessarily need to know if there was an error, but it would of course be interesting to know if an error occurred there. 

See http://talks.golang.org/2013/advconc.slide#25