Add support for multiple announce servers (fixes #677)

Somebody owes me a beer.
Disagree.
`wg.Wait()` makes sure that the all results have been delivered.
If all results have been delivered, the go'd function is blocking on channel read.
If the function is blocking on channel read, it will not modify addrs.