SOURCE: Cycle through addresses for a source

Since getaddrinfo() can return multiple addresses for a given name, this patch
allows a source to cycle through all of them should it get connection refused
errors.

Signed-off-by: Daniel Silverstone <dsilvers@digital-scurf.org>
SOURCE_INTERPRETER: Reset address cycle on spawn

If a source interpreter has to be spawned then reset the address cycle on the
source object so that it has a chance to try all possible addresses once more.

Signed-off-by: Daniel Silverstone <dsilvers@digital-scurf.org>